結果
問題 | No.1896 Arrays and XOR Procedure 2 |
ユーザー | ああいい |
提出日時 | 2022-04-08 22:31:56 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 83 ms / 2,000 ms |
コード長 | 627 bytes |
コンパイル時間 | 330 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 77,312 KB |
最終ジャッジ日時 | 2024-11-28 13:13:21 |
合計ジャッジ時間 | 5,914 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
N = int(input()) A = list(map(int,input().split())) B = list(map(int,input().split())) S = 0 for a in A: S |= a import sys if S == 0: print(0) exit() mask = 1 << (len(bin(S)) - 3) index = -1 for i in range(N): if A[i] & mask: index = i break ans = [] for j in range(N): if mask & B[j] == 0: ans.append((2,index + 1,j + 1)) B[j] ^= A[index] index = -1 _min = 1 << 40 for i in range(N): if B[i] < _min: _min = B[i] index = i for j in range(N): if mask & A[j]: ans.append((1,j + 1,index + 1)) print(len(ans)) for t,p,q in ans: print(t,p,q)