详见:http://www.cnblogs.com/xin-hua/p/3255985.html 约束条件6
代码如下:
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<iomanip>
#include<cmath>
#define in(x) scanf("%d",&x)
using namespace std;
int a[];
int main(){
int n,i,j,t,ans,num,cnt,k;
while(in(n)!=EOF){
if(n==){
puts("Yes");
continue;
}
for(i=;i<n;i++) in(a[i]);
sort(a,a+n);
j=;
for(i=;i<n;i++)
if(a[i]!=a[i-])
a[j++]=a[i];
ans=;
for(i=;i<j;i++){
k=a[i];t=*k;num=;
while(k){
if(k&) num++;
k>>=;
}
if(num&) ans^=t;
else ans^=t+;
}
puts(ans?"No":"Yes");
}
return ;
}