其他分享
首页 > 其他分享> > ZJNU 1538 - YN!ngC的取子游戏--高级

ZJNU 1538 - YN!ngC的取子游戏--高级

作者:互联网

Nim博弈

因为移动到第0阶会消失

所以可以得到从最后一个人操作必定是把第1阶所有子全部移动到第0阶

递推可得,最后一个能把奇数阶的子移动到偶数阶上的人将会必胜

所以这个必胜条件就是奇数阶上的子全部为0

拿奇数阶进行Nim博弈即可

 1 #include<stdio.h>
 2 int main(){
 3     int n,i,a,s=0;
 4     scanf("%d",&n);
 5     for(i=1;i<=n;i++){
 6         scanf("%d",&a);
 7         if(i%2==1)
 8             s^=a;
 9     }
10     puts(s?"YN!ngC":"Albert");
11     
12     return 0;
13 }

 

标签:奇数,int,阶上,YN,取子,必胜,Nim,ngC,移动
来源: https://www.cnblogs.com/stelayuri/p/12236162.html