【洛谷P1288】取数游戏II

取数游戏II

题目链接

显然,由于一定有一个0,我们可以求出从初始点到0的链的长度

若有一条链长为奇数,则先手可以每次取完一条边上所有的数,

后手只能取另一条边的数,先手必胜;

反之若没有奇数链,后手采取同样策略,后手必胜

 1 #include<cstdio>
 2 int n,len1,len2,i,x;
 3 bool flag=1;
 4 int main()
 5 {
 6     scanf("%d",&n);
 7     for(i=1;i<=n;i++){
 8         scanf("%d",&x);
 9         len2++;
10         if(x==0){
11             flag=0;
12             len2=0;
13         }
14         if(flag) len1++;
15     }
16     if(len1%2||len2%2) puts("YES");
17     else puts("NO");
18     return 0;
19 }

 

posted @ 2018-08-03 15:53  yjk  阅读(115)  评论(0编辑  收藏  举报