結果
問題 | No.517 壊れたアクセサリー |
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
from collections import dequeN=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)continueelse:print(-1)exit()if AQ:s=AQ[0]ind=-1for i in range(len(B)):if B[i][0]==s:ind=ibreakif ind==-1:print(-1)exit()else:BQ=deque(B[ind])B.pop(ind)continueif BQ:s=BQ[0]ind=-1for i in range(len(A)):if A[i][0]==s:ind=ibreakif ind==-1:print(-1)exit()else:AQ=deque(A[ind])A.pop(ind)continueSA=set()SB=set()for a in A:SA.add(a[0])for b in B:SB.add(b[0])SS=SA & SBif len(SS)==1:s=list(SS)[0]for i in range(len(A)):if A[i][0]==s:ind=ibreakAQ=deque(A[ind])A.pop(ind)for i in range(len(B)):if B[i][0]==s:ind=ibreakBQ=deque(B[ind])B.pop(ind)else:print(-1)exit()print("".join(ANS))