#include<iostream>
using namespace std;
const int maxn=200000+5;
int N[maxn];
int main()
{
int m;
while(cin>>m)
{
if(m==0) break;
int ans=0;
for(int i=0;i<m;i++) {cin>>N[i];ans^=N[i];}
if(ans==0) cout<<"No"<<endl;
else{
cout<<"Yes"<<endl;
int first=0;
for(int i=0;i<m;i++)
{
if(N[i]>(ans^N[i])){
if(first==0) cout<<N[i]<<" "<<(ans^N[i])<<endl;
else cout<<" "<<N[i]<<" "<<(ans^N[i])<<endl;
}
}
}
}
return 0;
}
HDU 2176 取(m堆)石子游戏(Nim game)
最新推荐文章于 2019-01-03 17:40:54 发布