题目链接:http://poj.org/problem?id=2234
博弈论这一节的题目其实不太好写博客的,因为sg函数也不太会,只能做一些裸题,或者稍微变形的题目。但是nim博弈确实很神奇,拆分成二进制,然后只要能两两消去,那么后手肯定必胜。就是所谓的异或运算了,网上nim博弈很多,就不罗嗦了。
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int main() {
int m, x, t;
while (~scanf("%d", &m)) {
scanf("%d", &x);
m --;
while (m --) {
scanf("%d", &t);
x ^= t;
}
if(x == 0) {
printf("No\n");
} else {
printf("Yes\n");
}
}
return 0;
}