Godsend(博弈)
生活随笔
收集整理的這篇文章主要介紹了
Godsend(博弈)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
VJ鏈接
題意:給出長度為n的數組,兩個人做游戲。第一個人每次只能取出和為奇數的連續子串,第二個人每次只能取出和為偶數的連續子串。每人取出之后,剩余子串相互連接。最后誰無法行動失敗。
思路:根據奇數偶數的性質解題。1.首先如果所有數之和為奇數,第一個人直接獲勝。 2.所有數字之和為偶數,但是這些數中沒有奇數子串,也就是說沒有奇數,此時第二個人獲勝。 3.所有數字之和為偶數,并且數組中存在奇數,則第一個人必勝。 因為:此時第一個人拿走這個奇數之后,剩下的所有數之和必然為奇數(偶數-奇數=奇數),若剩下的數字中存在偶數子串,則第二個人堅持一回合(若沒偶數,小二出局),然后,由于剩余所有數字之和為奇數,所以第一個人一次拿完(小二仍然出局)。
代碼
#include<stdio.h> int main() {int t,f=0,x;long long s=0;scanf("%d",&t);while(t--){scanf("%d",&x);s+=x;if(x&1) f=1; //數組中存在奇數}if((!(s&1)&&(f))||s&1)printf("First\n");elseprintf("Second\n");return 0; }總結
以上是生活随笔為你收集整理的Godsend(博弈)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《每天最重要的2小时》读书笔记PPT模板
- 下一篇: 鸿蒙钉钉app,钉钉鸿蒙版下载_钉钉手机