結果
| 問題 |
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 |
ソースコード
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))
titia