結果
問題 | No.2165 Let's Play Nim! |
ユーザー |
![]() |
提出日時 | 2023-04-16 09:58:32 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 1,157 bytes |
コンパイル時間 | 345 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 148,552 KB |
平均クエリ数 | 196.28 |
最終ジャッジ日時 | 2024-10-11 20:47:31 |
合計ジャッジ時間 | 26,239 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 2 RE * 30 TLE * 6 |
ソースコード
def rec():ret = int(input())if ret == -1:exit()def inp():global gi, k = map(int, input().split())i -= 1g ^= A[i]remX(A[i], i)A[i] -= ksetX(A[i], i)g ^= A[i]def remX(x, i):j = 0while x > 0:if x & 1:X[j].remove(i)x >>= 1j += 1def setX(x, i):j = 0while x > 0:if x & 1:X[j].add(i)x >>= 1j += 1def find(x):j = 0tmp = set(range(n))while x > 0:if x & 1:tmp &= X[j]j += 1x >>= 1if tmp:return next(iter(tmp))else:return -1X = [set() for _ in range(14)]n = int(input())A = list(map(int, input().split()))g = 0for i, a in enumerate(A):g ^= asetX(a, i)if g == 0:print(0)else:print(1)while 1:if g != 0:i = find(g)if i == -1:maxa = max(A)i = A.index(maxa)remX(A[i], i)to = A[i] ^ gsubt = A[i] - toA[i] = tosetX(to, i)g = 0print(i + 1, subt)rec()inp()rec()