hdu 3537 Daizhenyang's Coin 博弈论

详见:http://www.cnblogs.com/xin-hua/p/3255985.html 约束条件6

代码如下:

 

 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<algorithm>
 4 #include<iomanip>
 5 #include<cmath>
 6 #define in(x) scanf("%d",&x)
 7 using namespace std;
 8 int a[101];
 9 int main(){
10     int  n,i,j,t,ans,num,cnt,k;
11     while(in(n)!=EOF){
12         if(n==0){
13             puts("Yes");
14             continue;
15         }
16         for(i=0;i<n;i++) in(a[i]);
17         sort(a,a+n);
18         j=1;
19         for(i=1;i<n;i++)
20             if(a[i]!=a[i-1])
21                 a[j++]=a[i];
22         ans=0;
23         for(i=0;i<j;i++){
24             k=a[i];t=2*k;num=0;
25             while(k){
26                 if(k&1) num++;
27                 k>>=1;
28             }
29             if(num&1) ans^=t;
30             else ans^=t+1;
31         }
32         puts(ans?"No":"Yes");
33     }
34     return 0;
35 }
View Code

 

 

 

 

posted @ 2013-08-13 20:52  _随心所欲_  阅读(248)  评论(0编辑  收藏  举报