相邻两个绑成一组,它就变成了一个
nim游戏。。。。如果奇数个石子,就相当于开头在0处有一个石子
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<set>
#include<queue>
using namespace std;
int a[201000];
int n,t;
int main()
{
//freopen("test.in","r",stdin);
scanf("%d",&t);
while (t--)
{
//memset(a,0,sizeof(a));
int ans=0;
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d",&a[i]);
if (n&1) a[++n]=0;
sort(a+1,a+n+1);
for (int i=1;i<=n;i+=2)
ans^=(a[i+1]-a[i]-1);
if (ans) printf("Georgia ");
else printf("Bob ");
printf("will win\n");
}
return 0;
}
nim游戏。。。。如果奇数个石子,就相当于开头在0处有一个石子