結果
| 問題 |
No.205 マージして辞書順最小
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-09-27 11:31:23 |
| 言語 | Python2 (2.7.18) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 499 bytes |
| コンパイル時間 | 102 ms |
| コンパイル使用メモリ | 7,040 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-11-21 07:15:08 |
| 合計ジャッジ時間 | 1,080 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | RE * 4 |
| other | RE * 15 |
ソースコード
wN = 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