結果
問題 |
No.601 Midpoint Erase
|
ユーザー |
|
提出日時 | 2022-11-20 11:34:41 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 100 ms / 2,000 ms |
コード長 | 778 bytes |
コンパイル時間 | 229 ms |
コンパイル使用メモリ | 82,152 KB |
実行使用メモリ | 76,344 KB |
最終ジャッジ日時 | 2024-09-21 12:29:56 |
合計ジャッジ時間 | 3,975 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
# x,yが[偶数,偶数],[偶数,奇数],[奇数,偶数],[奇数,奇数]の4パターン # 消去できるのは、 # 偶数+偶数 -> 偶数 # 奇数+奇数 -> 奇数 # つまり、 # [偶数,偶数] + [偶数,偶数] # [偶数,奇数] + [偶数,奇数] # [奇数,偶数] + [奇数,偶数] # [奇数,奇数] + [奇数,奇数] # となり、「各山が2つあれば減らせる」と言い換えられる # 操作回数は各山の数 // 2となり # この総数が奇数であればAliceの勝ち cnt = [[0] * 2 for i in range(2)] N = int(input()) for _ in range(N): x,y = map(int,input().split()) cnt[x % 2][y % 2] += 1 mount = 0 for i in range(2): for j in range(2): mount += cnt[i][j] // 2 if mount % 2 == 1: print("Alice") else: print("Bob")