はまやんはまやんはまやん

hamayanhamayan's blog

Overwrite [第五回 アルゴリズム実技検定 B]

https://atcoder.jp/contests/past202012-open/tasks/past202012_b

解説

https://atcoder.jp/contests/past202012-open/submissions/22280373

実装問題。
N≦100なので、基本的にはどのような実装をしてもTLEにはならないと思う。
それにかまけて雑な実装で通した。
ある文字cを追加する前にcと同じ文字についてすべて削除するが、この部分について削除する代わりに'#'でマスクするようにした。
操作後、マスクした#以外を出力すれば答えが得られる。

int N;
string S;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> S;
    
    string ans = "";
    fore(c, S) {
        fore(x, ans) if (x == c) x = '#';
        ans += c;
    }
    fore(c, ans) if (c != '#') cout << c;
    cout << endl;
}