東京大学プログラミングコンテスト2012: B - 残像に口紅を
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)