結果
| 問題 |
No.2307 [Cherry 5 th Tune *] Cool 46
|
| コンテスト | |
| ユーザー |
navel_tos
|
| 提出日時 | 2023-05-19 22:12:51 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 1,538 ms / 2,000 ms |
| コード長 | 2,637 bytes |
| コンパイル時間 | 601 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 35,776 KB |
| 最終ジャッジ日時 | 2024-12-21 02:56:47 |
| 合計ジャッジ時間 | 40,995 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 46 |
ソースコード
#yukicoder389C
'''
■考察欄
またカード食べてるよ・・・。
Aiは赤のカード、Bjは青のカード。これら(N+M)枚のカードを全部食べたい。
UNOの要領で食べてゆく。
食べるたびに色が異なっていた回数が多いほどcool。
全部食べろ。
とりあえず同じ数字がなければ、全部食べることは不可能。
一方、同じ数字が1個以上あれば全部食べられる。
1 _ 2 3 _ _ 6 : 6から降順に食べて
1 1 _ _ 4 5 _ : 1をまたいだら昇順に食べる。かっこよさは1。
どうでもいいカードがなければ、かっこよさは2にできるのに。
1 _ _ _ : 縮小版
1 1 4 5 : 5,4,1,上1,1 と食べればかっこよさは2。
ちょっと難しい。紙で実験しよう。
Corner Case多すぎるだろ。これがyukicoder?
1ケース落ちるんだが。どうせコーナーケースだろ。
'''
f=lambda:list(map(int,input().split()))
nyu=int(input())
for _ in range(nyu):
N,M=f()
if N==0 and M==0: input(); input(); print('Yes'); continue
elif N==0:
input(); B=f(); print('Yes')
for i in B: print('Blue '+str(i))
continue
elif M==0:
A=f(); input(); print('Yes')
for i in A: print('Red '+str(i))
continue
A=f(); B=f(); P=set(A); matched=set()
for i in B:
if i in P: matched.add(i)
if len(matched)==0: print('No'); continue
elif len(matched)==1:
print('Yes')
if N==1:
for i in B:
if i not in matched: print('Blue '+str(i))
for i in matched: print('Blue '+str(i)); print('Red '+str(i))
continue
else:
for i in A:
if i not in matched: print('Red '+str(i))
for i in matched: print('Red '+str(i)); print('Blue '+str(i))
for i in B:
if i not in matched: print('Blue '+str(i))
continue
else:
print('Yes')
start=matched.pop(); print('Blue '+str(start)); print('Red '+str(start))
for i in A:
if i==start: continue
if i not in matched: print('Red '+str(i))
next=matched.pop(); print('Red '+str(next)); print('Blue '+str(next))
for i in B:
if i==start or i==next: continue
if i not in matched: print('Blue '+str(i))
next_is_BL = True
while len(matched):
now=matched.pop()
if next_is_BL==True: print('Blue '+str(now)); print('Red '+str(now)); next_is_BL=False
else: print('Red '+str(now)); print('Blue '+str(now)); next_is_BL=True
navel_tos