这题好像nim博弈的变形 主要在于找到变成奇异局势的方式,那么可以想到最近的两个棋子移动到相邻 如果n为奇数那么把0点也看作是一个棋子 如果变完后那么后手只需要模仿先手就可以赢了 所以之前是nim博弈
#include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int main()
{
int t,n,a[1010];
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
for(int i=0; i<n; i++)
scanf("%d",&a[i]);
if(n&1)
a[n++]=0;
sort(a,a+n);
int ans=0;
for(int i=n-1; i>0; i-=2)
ans^=a[i]-a[i-1]-1;
if(ans)
puts("Georgia will win");
else
puts("Bob will win");
}
return 0;
}