纯Nimm博弈,不过比较难看出来。
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int main()
{
#ifdef test
freopen("input.txt", "r", stdin);
#endif
int m, n;
while(scanf("%d", &m) && m)
{
int ans = 0;
for(int i=0; i<m; ++i)
{
scanf("%d", &n);
ans ^= n;
}
if(ans)
printf("Rabbit Win!\n");
else
printf("Grass Win!\n");
}
return 0;
}

本文介绍了一个纯Nimm博弈的实现代码,通过异或运算来判断博弈双方的输赢情况。该代码支持从输入文件读取多组测试数据,并根据每组数据中给出的整数列表,利用异或原理计算出最终的赢家。
1万+

被折叠的 条评论
为什么被折叠?



