結果
問題 |
No.3120 Lower Nim
|
ユーザー |
👑 ![]() |
提出日時 | 2025-04-19 18:48:30 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 385 ms / 2,000 ms |
コード長 | 848 bytes |
コンパイル時間 | 649 ms |
コンパイル使用メモリ | 82,740 KB |
実行使用メモリ | 95,540 KB |
平均クエリ数 | 2685.91 |
最終ジャッジ日時 | 2025-04-19 18:48:45 |
合計ジャッジ時間 | 14,909 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 43 |
ソースコード
# 合計が奇数 => 1 個取れば勝ち # 合計が偶数 => 偶数個取らなければならない # 2 で割って、同じ問題? N = int(input()) A = list(map(int, input().split())) S = [0] * 15 def add(a): for i in range(15): S[i] ^= a >> i & 1 for a in A: add(a) def op(i: int, x: int): add(A[i]) A[i] -= x add(A[i]) def judge(): i, x = map(int, input().split()) i -= 1 op(i, x) ret = int(input()) if ret: exit() if any(S): print("First") else: print("Second") judge() while True: x = 0 for i in range(15): if S[i]: x = 1 << i break assert x for i in range(N): if A[i] & x: op(i, x) print(i + 1, x) if int(input()): exit() break judge()