HDU 2176

http://acm.hdu.edu.cn/showproblem.php?pid=2176

nim博弈的模型。要输出先手第一次取的情况,考虑角度是留给对手必败态

#include <iostream>
#include <cstdio> using namespace std; int a[]; int main() {
int m;
while(~scanf("%d", &m), m) {
int s = ;
for(int i = ; i < m; i++) {
scanf("%d", &a[i]);
s ^= a[i];
}
if(!s) puts("No");
else {
puts("Yes");
for(int i = ; i < m; i++) {
int st = s ^ a[i];
if(st < a[i]) printf("%d %d\n", a[i], st);
}
}
}
return ;
}
上一篇:Windows 7旗舰版搭建andriod 4.0开发环境记录


下一篇:<<< Js中实现对字符串的截取