東京大学プログラミングコンテスト2012: B - 残像に口紅を

,

https://beta.atcoder.jp/contests/utpc2012/tasks/utpc2012_02

solution

後ろから見ていって文字の始めて出現する順番を考え、この逆順に禁止されたいたとすればよい。$O(N)$。

implementation

#!/usr/bin/env python3
s = input()
result = ''
for c in list(reversed(s)) + list('ABCDEFGH'):
    if c not in result:
        result = c + result
print(result)