来源:HDU2509
Nim游戏,要讨论一下是否全是一个石子的堆 的情况
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN=10010;
int a[MAXN];
int main(){
int n;
while(scanf("%d",&n)!=EOF){
int ans;
int flag=0;
scanf("%d",&a[0]);
ans=a[0];
if(ans>1) flag=1;
for(int i=1;i<n;i++){
scanf("%d",&a[i]);
ans=ans^a[i];
if(a[i]>1) flag=1;
}
if(flag){
if(ans==0)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
else{
if(n&1)
cout<<"No"<<endl;
else
cout<<"Yes"<<endl;
}
}
return 0;
}