結果
問題 | No.1896 Arrays and XOR Procedure 2 |
ユーザー | prussian_coder |
提出日時 | 2022-04-09 11:16:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 71 ms / 2,000 ms |
コード長 | 562 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 82,192 KB |
実行使用メモリ | 77,616 KB |
最終ジャッジ日時 | 2024-11-29 08:35:42 |
合計ジャッジ時間 | 5,180 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
N=int(input()) A=[int(x) for x in input().split()] B=[int(x) for x in input().split()] d = len(bin(max(max(A),max(B))))-3 dA = [(a>>d)&1 for a in A] dB = [(a>>d)&1 for a in B] ans=[] if sum(dB)==0: a = dA.index(1) ans.append((2,a+1,1)) dB[0]=1 B[0]^=A[a] b = dB.index(1) for i in range(N): if dA[i]==1: ans.append((1,i+1,b+1)) dA[i]=0 A[i]^=B[b] ans.append((1,1,b+1)) A[0]^=B[b] dA[0]=1 for i in range(N): if dB[i]==0: ans.append((2,1,i+1)) dB[i]=1 B[i]^=A[0] ans.append((1,1,1)) print(len(ans)) [print(*a) for a in ans] A[0]^=B[0] dA[0]=0