結果
問題 | No.2307 [Cherry 5 th Tune *] Cool 46 |
ユーザー |
|
提出日時 | 2023-05-19 22:04:31 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 652 ms / 2,000 ms |
コード長 | 2,252 bytes |
コンパイル時間 | 302 ms |
コンパイル使用メモリ | 82,048 KB |
実行使用メモリ | 172,488 KB |
最終ジャッジ日時 | 2024-12-21 02:42:00 |
合計ジャッジ時間 | 36,198 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 46 |
ソースコード
from collections import defaultdictimport sysinput = sys.stdin.readlinefor _ in range(int(input())):n, m = map(int, input().split())A = list(map(int, input().split()))B = list(map(int, input().split()))if n == 0:print("Yes")for i in range(m):print(f"Blue {B[i]}")continueif m == 0:print("Yes")for i in range(n):print(f"Red {A[i]}")continueA.sort()B.sort()AD = defaultdict(int)for i in range(n):AD[A[i]] = iBD = defaultdict(int)for i in range(m):BD[B[i]] = isecter_set = set(A) & set(B)if len(secter_set) == 0:print("No")continueprint("Yes")i, j = 0, 0red = TrueANS = []while len(secter_set) > 1:if red:a = A[i]ANS.append(f"Red {a}")i += 1if a in secter_set:secter_set.remove(a)l = BD[a]ANS.append(f"Blue {a}")for k in range(j, l):ANS.append(f"Blue {B[k]}")j = l + 1red = Falseelse:b = B[j]ANS.append(f"Blue {b}")j += 1if b in secter_set:secter_set.remove(b)l = AD[b]ANS.append(f"Red {b}")for k in range(i, l):ANS.append(f"Red {A[k]}")i = l + 1red = Trueif red:for k in range(i, n):if A[k] in secter_set:f = A[k]continueANS.append(f"Red {A[k]}")ANS.append(f"Red {f}")ANS.append(f"Blue {f}")for k in range(j, m):if B[k] == f:continueANS.append(f"Blue {B[k]}")else:for k in range(j, m):if B[k] in secter_set:f = B[k]continueANS.append(f"Blue {B[k]}")ANS.append(f"Blue {f}")ANS.append(f"Red {f}")for k in range(i, n):if A[k] == f:continueANS.append(f"Red {A[k]}")print(*ANS, sep='\n')