#阶梯NIM#Poj 1704 Georgia and Bob
题目
有\(n\)个棋子摆放在x轴的正半轴上,
每次将棋子最多向左移动至上一个棋子之后(不能不移动),
不能操作为败,问先手是不是必胜
分析
这个模型可以转换成阶梯NIM的形式,
那么将奇数位置做NIM游戏就可以了,证明在dalao的博客里
代码
#include <cstdio>
#include <cctype>
#include <algorithm>
#define rr register
using namespace std;
int n,a[1011],ans;
inline signed iut(){
rr int ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
signed main(){
for (rr int T=iut();T;--T){
n=iut(),ans=0;
for (rr int i=1;i<=n;++i) a[i]=iut();
sort(a+1,a+1+n);
for (rr int i=n;i>0;i-=2) ans^=a[i]-a[i-1]-1;
puts(ans?"Georgia will win":"Bob will win");
}
return 0;
}