cf841A Godsend
生活随笔
收集整理的這篇文章主要介紹了
cf841A Godsend
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
開門,上帝送溫暖……才怪啊
兩個(gè)人在玩一個(gè)無聊的游戲。有一串?dāng)?shù),第一個(gè)人能拿走和為奇數(shù)的一部分,第二個(gè)人能拿走和為偶數(shù)的一部分,沒辦法拿的人輸,問誰贏。
我一開始還以為是必勝策略什么的……后來發(fā)現(xiàn)……
首先,關(guān)注奇偶性時(shí)無需在意數(shù)字本身,我們不妨把奇數(shù)當(dāng)成1,偶數(shù)當(dāng)成0。
顯然如果有奇數(shù)個(gè)奇數(shù),就可以一次拿走,第一個(gè)人贏。
如果有偶數(shù)個(gè)奇數(shù),第一個(gè)人可以拿到只剩下一個(gè)奇數(shù)為止,這樣還是第一個(gè)人贏。唯一的特例,就是沒有奇數(shù)的時(shí)候,第一個(gè)人拿不了。
所以,只要有奇數(shù)第一個(gè)人就贏了。
實(shí)現(xiàn):
#include <bits/stdc++.h> using namespace std; typedef long long LL; #define MAXN 1e9+10 int read(){LL x;x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)){x=10*x+c-'0';c=getchar();}if(x&1) return 1;else return 0; } int main(){int k;cin>>k;int num=0;for(int i=1;i<=k;++i)num+=read();if(num>0) cout<<"First"<<endl;else cout<<"Second"<<endl ; }總結(jié)
以上是生活随笔為你收集整理的cf841A Godsend的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试中的“电商项目”讲解
- 下一篇: 蒙特卡洛树搜索算法实现_蒙特卡洛树搜索实