您的位置:首页 > 其它

【博弈】poj1704 Georgia and Bob

2012-04-13 22:32 411 查看
核心思想在于想熟知的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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: