核心思想在于想熟知的Nim游戏进行转化,可以把空格数作为石子数,每一步既可以从任一堆石子中取若干,也可以将最右侧的石子扔掉。而且经分析可知,偶数位置的石子实际上不发挥任何作用。
具体的细节懒得写了....果断上代码。
时间:32ms
#include<iostream>
#include<algorithm>
using namespace std;
int main(){
int t,n,sum,position[10005];
cin>>t;
while(t--){
cin>>n;
position[0]=0;
for(int i=1;i<=n;i++)
cin>>position[i];
sort(position,position+n+1);
sum=0;
for(int i=n;i>0;i-=2){
sum=sum^(position[i]-position[i-1]-1);
}
if(sum==0)
cout<<"Bob will win"<<endl;
else cout<<"Georgia will win"<<endl;
}
//system("pause");
return 0;
}