結果
| 問題 |
No.517 壊れたアクセサリー
|
| コンテスト | |
| ユーザー |
AEn
|
| 提出日時 | 2022-08-25 16:56:07 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 85 ms / 2,000 ms |
| コード長 | 2,421 bytes |
| コンパイル時間 | 249 ms |
| コンパイル使用メモリ | 81,792 KB |
| 実行使用メモリ | 77,824 KB |
| 最終ジャッジ日時 | 2024-10-12 23:32:58 |
| 合計ジャッジ時間 | 2,651 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 15 |
ソースコード
from calendar import c
N = int(input())
A = [input() for _ in range(N)]
M = int(input())
B = [input() for _ in range(M)]
l = 0
for i in range(N):
l += len(A[i])
res = 0
for i in range(N):
for j in range(M):
if A[i][0] == B[j][0]:
a, b = [0]*l, [0]*l
id_a, id_b = 0, 0
sa, sb = set(), set()
sa.add(i);sb.add(j)
for k in range(len(A[i])):
a[id_a] = ord(A[i][k])
id_a += 1
for k in range(len(B[j])):
b[id_b] = ord(B[j][k])
id_b += 1
while id_a<l or id_b<l:
if id_a==id_b:
f = False
for ii in range(N):
for jj in range(M):
if A[ii][0]==B[jj][0] and ii not in sa and jj not in sb:
sa.add(ii);sb.add(jj)
for kk in range(len(A[ii])):
a[id_a] = ord(A[ii][kk])
id_a += 1
for kk in range(len(B[jj])):
b[id_b] = ord(B[jj][kk])
id_b += 1
f = True
break
if f:
break
elif id_a>id_b:
ss = chr(a[id_b])
for ii in range(M):
if ss == B[ii][0] and ii not in sb:
sb.add(ii)
for kk in range(len(B[ii])):
b[id_b] = ord(B[ii][kk])
id_b += 1
break
else:
ss = chr(b[id_a])
for ii in range(N):
if ss == A[ii][0]:
sa.add(ii)
for kk in range(len(A[ii])):
a[id_a] = ord(A[ii][kk])
id_a += 1
break
for ll in range(l):
if a[ll] != b[ll]:
break
else:
res += 1
ans = a.copy()
if res == 1:
ret = ''
for i in ans:
ret += chr(i)
print(ret)
else:
print(-1)
AEn