POJ 1704

来源:互联网 发布:淘宝能刷心悦会员 编辑:程序博客网 时间:2024/05/22 05:32

这题好像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;}


原创粉丝点击