題目鏈接: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;
}