閱讀655 返回首頁    go 技術社區[雲棲]


POJ 1704

這題好像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;
}


最後更新:2017-04-04 07:03:55

  上一篇:go 三星稱其對Mozilla火狐操作係統不感興趣
  下一篇:go iOS開發資源匯總