取数游戏II

题目链接

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

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

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

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

 #include<cstdio>
int n,len1,len2,i,x;
bool flag=;
int main()
{
scanf("%d",&n);
for(i=;i<=n;i++){
scanf("%d",&x);
len2++;
if(x==){
flag=;
len2=;
}
if(flag) len1++;
}
if(len1%||len2%) puts("YES");
else puts("NO");
return ;
}
04-25 14:00