結果
| 問題 | No.601 Midpoint Erase | 
| コンテスト | |
| ユーザー |  tnk123456 | 
| 提出日時 | 2017-12-05 19:28:18 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 80 ms / 2,000 ms | 
| コード長 | 838 bytes | 
| コンパイル時間 | 516 ms | 
| コンパイル使用メモリ | 56,668 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-12-23 03:29:09 | 
| 合計ジャッジ時間 | 2,087 ms | 
| ジャッジサーバーID (参考情報) | judge2 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 3 | 
| other | AC * 23 | 
ソースコード
#include<iostream>
#include<algorithm>
using namespace std;
typedef unsigned long long ull;
const ull NMAX = 1000000;
ull N;
typedef struct point{
	ull  x ;
	ull  y ;
}point;
point A[NMAX];
int main(void){
	
	cin >> N;
	
	for(int j = 0 ; j < N; j++){
		cin >> A[j].x ;
		cin >> A[j].y ;
	}
	
	int eo = 0;
	int oe = 0;
	int ee = 0;
	int oo = 0;
	int m = 0;
	
//	cout << eo << endl;
	
	for(int i = 0; i < N; i++){
		if((A[i].x % 2 == 0) && (A[i].y % 2 !=0)) eo++ ;
		if (A[i].x % 2 != 0 && A[i].y % 2 == 0) oe++ ;
		if (A[i].x % 2 == 0 && A[i].y % 2 == 0) ee++ ;
		if (A[i].x % 2 != 0 && A[i].y % 2 != 0) oo++ ; 
	}
//	cout << eo << endl;
//	cout << oe << endl;
//	cout << ee << endl;
//	cout << oo << endl; 
	
	m = eo/2 + oe/2 + ee/2 + oo/2 ;
	if(m % 2 == 0) cout << "Bob" << endl;
	else cout << "Alice" << endl;
	
	
	
	
	return 0;}
            
            
            
        