Nim博弈
因为移动到第0阶会消失
所以可以得到从最后一个人操作必定是把第1阶所有子全部移动到第0阶
递推可得,最后一个能把奇数阶的子移动到偶数阶上的人将会必胜
所以这个必胜条件就是奇数阶上的子全部为0
拿奇数阶进行Nim博弈即可
#include<stdio.h> int main(){ int n,i,a,s=0; scanf("%d",&n); for(i=1;i<=n;i++){ scanf("%d",&a); if(i%2==1) s^=a; } puts(s?"YN!ngC":"Albert"); return 0; }