結果
問題 | No.2307 [Cherry 5 th Tune *] Cool 46 |
ユーザー | koarakko5555 |
提出日時 | 2023-05-19 22:37:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 844 ms / 2,000 ms |
コード長 | 1,627 bytes |
コンパイル時間 | 654 ms |
コンパイル使用メモリ | 82,448 KB |
実行使用メモリ | 144,344 KB |
最終ジャッジ日時 | 2024-12-21 03:22:17 |
合計ジャッジ時間 | 39,102 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 46 |
ソースコード
import collections T = int(input()) for _ in range(T): N, M = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) AB = collections.Counter(A+B) AB_keys = list(AB.keys()) AB_values = list(AB.values()) #何もない if N==0 and M==0: print("Yes") continue #Noのパターン if max(AB_values)==1 and N>0 and M>0: print("No") continue #Yesのパターン print("Yes") #Redのみ if M==0: for i in range(N): print("Red", A[i]) #Blueのみ if N==0: for i in range(M): print("Blue", B[i]) #大本命 if N>0 and M>0: #Redで1つしかないやつを表示する。 for i in range(N): if AB[A[i]]==1: print("Red", A[i]) #1回目の共通項を表示する cnt = 0 for i in range(N): if AB[A[i]]==2: print("Red", A[i]) print("Blue", A[i]) cnt += 1 save_point = i break #Blueで1つしかないやつを表示する。 for i in range(M): if AB[B[i]]==1: print("Blue", B[i]) #2回目の共通項 for i in range(save_point+1, N): if AB[A[i]]==2 and cnt%2==0: print("Red", A[i]) print("Blue", A[i]) cnt += 1 elif AB[A[i]]==2 and cnt%2==1: print("Blue", A[i]) print("Red", A[i]) cnt += 1