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