結果
問題 |
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