結果
問題 | No.517 壊れたアクセサリー |
ユーザー |
|
提出日時 | 2020-09-09 08:58:53 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 687 bytes |
コンパイル時間 | 453 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-12-14 09:51:37 |
合計ジャッジ時間 | 1,616 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 15 |
ソースコード
N = int(input()) A = [input() for _ in range(N)] M = int(input()) B = [input() for _ in range(M)] G = {s: set() for a in A for s in a} first_dict = {s: True for s in G.keys()} for a in A: for i in range(len(a) - 1): G[a[i]].add(a[i + 1]) first_dict[a[i + 1]] = False for b in B: for i in range(len(b) - 1): G[b[i]].add(b[i + 1]) first_dict[b[i + 1]] = False def is_impossible(b): if b: print(-1) exit() first = [k for k, v in first_dict.items() if v] is_impossible(len(first) != 1) cur = first[0] ans = cur for _ in range(len(G) - 1): is_impossible(len(G[cur]) != 1) cur = G[cur].pop() ans += cur print(ans)