結果
| 問題 | No.601 Midpoint Erase |
| コンテスト | |
| ユーザー |
extelo
|
| 提出日時 | 2017-12-15 14:35:52 |
| 言語 | C++17 (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
AC
|
| 実行時間 | 25 ms / 2,000 ms |
| コード長 | 1,093 bytes |
| 記録 | |
| コンパイル時間 | 236 ms |
| コンパイル使用メモリ | 40,192 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2026-06-06 20:09:48 |
| 合計ジャッジ時間 | 3,442 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 23 |
ソースコード
#include <stdio.h>
typedef long long int lli;
class Point
{
public:
lli x;
lli y;
};
int divide(Point *point, lli num)
{
lli even_even = 0;
lli even_odd = 0;
lli odd_even= 0;
lli odd_odd = 0;
for (int i=0; i<num; i++) {
if (point[i].x % 2 == 0 && point[i].y % 2 == 0) {
even_even++;
}
if (point[i].x % 2 == 0 && point[i].y % 2 != 0) {
even_odd++;
}
if (point[i].x % 2 != 0 && point[i].y % 2 == 0) {
odd_even++;
}
if (point[i].x % 2 !=0 && point[i].y % 2 != 0) {
odd_odd++;
}
}
// %4 ==0||1 winner is Bob, else Alice
lli judge = ((even_even / 2) + (even_odd / 2) + (odd_even / 2) + (odd_odd / 2)) % 2;
return judge;
}
int main(void)
{
lli num;
scanf("%lld", &num);
Point *point;
point = new Point[num];
for (int i=0; i<num; i++) {
scanf("%lld %lld", &point[i].x, &point[i].y);
// printf("%lld %lld\n", point[i].x, point[i].y);
}
int winner;
winner = divide(point, num);
if (winner == 0) {
printf("Bob\n");
}
if (winner == 1) {
printf("Alice\n");
}
return 0;
}
extelo