結果
問題 | No.1896 Arrays and XOR Procedure 2 |
ユーザー |
![]() |
提出日時 | 2022-04-08 22:46:30 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 52 ms / 2,000 ms |
コード長 | 789 bytes |
コンパイル時間 | 201 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 11,776 KB |
最終ジャッジ日時 | 2024-11-28 13:36:55 |
合計ジャッジ時間 | 5,215 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
import sys input = sys.stdin.readline N=int(input()) A=list(map(int,input().split())) B=list(map(int,input().split())) def ansplus(t,i,j): ANS.append((t,i+1,j+1)) if t==1: A[i]^=B[j] else: B[j]^=A[i] ANS=[] A_MAX_IND=A.index(max(A)) B_MAX_IND=B.index(max(B)) b1=max(A).bit_length() b2=max(B).bit_length() if b1<b2: for j in range(N): if A[j].bit_length()<b2: ansplus(1,j,B_MAX_IND) A_MAX_IND=j break b1=max(A).bit_length() for i in range(N): if B[i].bit_length()<b1: ansplus(2,A_MAX_IND,i) #print(A) #print(B) for i in range(N): if A[i].bit_length()==b1: ansplus(1,i,0) #print(A) #print(B) print(len(ANS)) for x,y,z in ANS: print(x,y,z)