POJ 1704

軟院校賽的題目,比賽的時候歡快的過了30+隊伍,果然還是差距頗大OTZ。

這題是nim遊戲的變形。如果先把第i顆棋子向左移動,那麼第i+1顆棋子也可以向左移動相同的格子數,所以第i顆棋子據左邊的距離是不影響遊戲結果的,真正影響遊戲結果的是第i顆棋子與第i+1顆棋子的距離,即把p[i]-p[i-1]看做石子的個數做nim遊戲。

#define _CRT_SECURE_NO_DEPRECATE
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<string>
#include<cstring>
#include<queue>
#include<vector>
#include<cmath>
#include<ctime>
#define mx 200005
#define LL long long 
#define mod 1000000009
#define esp 1e-12
#define y1 y1234
#define inf 0x3f3f3f3f
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
const double PI = acos(-1.0);
using namespace std;

int a[1005];

int main(){
	int t;
	cin >> t;
	while (t--){
		int n;
		cin >> n;
		for (int i = 1; i <= n; i++){
			scanf("%d", &a[i]);
		}
		sort(a + 1, a + n + 1);
		int ans = 0;
		for (int i = n; i > 0; i -= 2){
			ans = ans ^ (a[i] - a[i - 1] - 1);
		}
		if (ans)printf("Georgia will win\n");
		else printf("Bob will win\n");
	}
	return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章