anti-nim模型,若有大于等于2的堆且抑或和>0,或者全是1的堆且疑惑和=0,则先手必胜,否则为后手必胜。
#include<cstdio>
#define maxl 110
int n,ans=0,sum1,sum2;
int a[maxl];
int main()
{
while(~scanf("%d",&n))
{
ans=0;sum1=sum2=0;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]),ans^=a[i];
if(a[i]>=2)
sum2++;
else
sum1++;
}
if((ans && sum2) || (ans==0 && sum2==0))
printf("Yes\n");
else
printf("No\n");
}
return 0;
}