翻硬币游戏,纯。。

注意要判重

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int a[],n; int sg(int x){
int tmp=x,cnt=;
while(x){
if(x&==) cnt++;
x=(x>>);
}
if(cnt%==)
return *tmp;
else
return *tmp+;
} int main(){
while(scanf("%d",&n)!=EOF){
for(int i=;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
int len=-; int tmp=-;
for(int i=;i<n;i++){
if(a[i]!=tmp){
tmp=a[i];
a[++len]=a[i];
}
}
int sum=;
for(int i=;i<=len;i++)
sum^=sg(a[i]);
if(sum) printf("No\n");
else printf("Yes\n");
}
return ;
}
05-28 04:27