【洛谷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 }