[洛谷P2197]nim游戏
题目大意:Nim游戏。地上有n堆石子,每人每次可从任意一堆石子里取出任意多石子,不能不取,且每次只能从一堆里取。没石子可取的人输。问是否存在先手必胜的策略。
题解:Nim游戏有一个定理,就是当所有棋子数量的异或和为0时先手必败,否则后手必胜。
卡点:无
C++ Code:
#include <cstdio>
using namespace std;
int Tim, n, a, ans;
int main() {
scanf("%d", &Tim);
while (Tim--) {
scanf("%d", &n);
ans = 0;
while (n--) {
scanf("%d", &a);
ans ^= a;
}
if (ans) puts("Yes");
else puts("No");
}
return 0;
}

浙公网安备 33010602011771号