結果

問題 No.517 壊れたアクセサリー
ユーザー titia
提出日時 2024-01-20 00:49:05
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
AC  
実行時間 33 ms / 2,000 ms
コード長 1,519 bytes
コンパイル時間 513 ms
コンパイル使用メモリ 12,672 KB
実行使用メモリ 11,008 KB
最終ジャッジ日時 2024-09-28 05:19:07
合計ジャッジ時間 1,843 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 15
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

from collections import deque
N=int(input())
A=[input() for i in range(N)]
M=int(input())
B=[input() for i in range(M)]
AQ=deque()
BQ=deque()
ANS=[]
while (A and B) or AQ or BQ:
if AQ and BQ:
if AQ[0] and BQ[0]:
s=AQ.popleft()
BQ.popleft()
ANS.append(s)
continue
else:
print(-1)
exit()
if AQ:
s=AQ[0]
ind=-1
for i in range(len(B)):
if B[i][0]==s:
ind=i
break
if ind==-1:
print(-1)
exit()
else:
BQ=deque(B[ind])
B.pop(ind)
continue
if BQ:
s=BQ[0]
ind=-1
for i in range(len(A)):
if A[i][0]==s:
ind=i
break
if ind==-1:
print(-1)
exit()
else:
AQ=deque(A[ind])
A.pop(ind)
continue
SA=set()
SB=set()
for a in A:
SA.add(a[0])
for b in B:
SB.add(b[0])
SS=SA & SB
if len(SS)==1:
s=list(SS)[0]
for i in range(len(A)):
if A[i][0]==s:
ind=i
break
AQ=deque(A[ind])
A.pop(ind)
for i in range(len(B)):
if B[i][0]==s:
ind=i
break
BQ=deque(B[ind])
B.pop(ind)
else:
print(-1)
exit()
print("".join(ANS))
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0