cf 429 B. Godsend
生活随笔
收集整理的這篇文章主要介紹了
cf 429 B. Godsend
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
昨晚的cf測試B問題。在做題的時候看到題目首先想到的是用線段樹解決,建完樹之后發現懵逼了,接下來怎么辦啊
。。。。。然后就沒有然后了,放棄了這題去做后面的題目了。今天起床后有想了下這題,真是被自己蠢哭了,哈哈哈哈。下面講下這題的思路。
首先這是一道博弈論的題。兩個人可以從連續整數中選擇一段連續子序列,第一個人選的和必須是奇數,第二個人必須是偶數,依次交替。當選到下一個人沒得選的時候,這個人就贏了。
首先假設當前整數序列中奇數個數為x個:
x=0:肯定是選偶數的那個贏啊,因為第一個人怎么選都選不出來一個和為奇數的序列。
x=1:第一個人可以把整個序列全選完,那。。。。。。。。。。第二個人就沒有數給他選了,所以第一個贏。
x=2:第一個人先隨便選一個奇數,現在只剩一個奇數。因為第二個人不能選擇包含奇數的序列,所以第二個人選完之后事件變成第一種情況,第一個人贏。
x=3:等同于第一種。
x=4:等同于第二種。
.
.
.
.
所以,這題實際上是只要有奇數就是第一個人贏。
下面代碼我想可能都不想看了
#include<iostream> using namespace std;int main() {int n;bool flag=false;scanf("%d",&n);for(int i=0;i<n;i++){int t;scanf("%d",&t);if(t%2==1)flag=true;}if(flag==true)printf("First\n");elseprintf("Second\n");return 0; }總結
以上是生活随笔為你收集整理的cf 429 B. Godsend的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链共识机制:POW、POS、DPOS
- 下一篇: 为什么四个字节的float比八个字节的l