結果
| 問題 |
No.205 マージして辞書順最小
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-27 11:31:33 |
| 言語 | Python2 (2.7.18) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 498 bytes |
| コンパイル時間 | 179 ms |
| コンパイル使用メモリ | 6,912 KB |
| 実行使用メモリ | 6,400 KB |
| 最終ジャッジ日時 | 2024-11-21 07:15:23 |
| 合計ジャッジ時間 | 1,511 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 WA * 1 |
| other | AC * 7 WA * 8 |
ソースコード
N = input()
S = [raw_input()[::-1] for _ in xrange(N)]
ans = ''
while len(S) > 0:
min_s = 'zzz'
min_i = []
for i, s in enumerate(S):
if s[-1] < min_s:
min_s = s[-1]
min_i = [i]
elif s[-1] == min_s:
min_i.append(i)
min_i = min(min_i, key=lambda i:S[i][::-1]) if len(min_i) > 1 else min_i[0]
ans += S[min_i][-1]
if len(S[min_i]) == 1:
S.pop(min_i)
else:
S[min_i] = S[min_i][:-1]
print ans