[Nim博弈——hdu2176取(m堆)石子游戏](http://acm.hdu.edu.cn/showproblem.php?pid=2176)
AC code
#include <iostream>
#include <string>
#include<cstring>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <vector>
#include <map>
const int maxn = 2e5 + 10;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
using namespace std;
typedef long long LL;
int a[maxn];
int main()
{
int n;
while(cin >> n && n)
{
int ans = 0;
for(int i = 0; i < n; i++)
{
int e;
scanf("%d",&e);
a[i] = e;
ans ^= e;
}
if(!ans)
cout << "No" << endl;
else
{
cout << "Yes" << endl;
for(int i = 0; i < n; i++)
{
if((ans^a[i]) < a[i])
cout << a[i] << " " << (ans ^ a[i]) << endl;
}
}
}
return 0;
}