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

hamayanhamayan's blog

180° [エイシングプログラミングコンテスト2021(AtCoder Beginner Contest 202) B]

https://atcoder.jp/contests/abc202/tasks/abc202_b

解説

https://atcoder.jp/contests/abc202/submissions/22836805

シミュレーション問題。
問題で要求されていることを実装しよう。
自分の実装例について説明する。

反転する

C++であればreverse関数を使うのがいい。
自分の実装ではreverse(all(S))と書いている。
allは自作のマクロで、この記事の上部リンクから参照してもらえば分かるが、
all(S) ⇔ S.begin(), S.end()となっている。

文字変換

mapを使ったマッピングテーブルを用意して変換した。
好き好きに実装すればいいと思う。

string S;
//---------------------------------------------------------------------------------------------------
void _main() {
    map<char, char> mapping;
    mapping['0'] = '0';
    mapping['1'] = '1';
    mapping['6'] = '9';
    mapping['8'] = '8';
    mapping['9'] = '6';

    cin >> S;
    fore(c, S) c = mapping[c];
    reverse(all(S));
    cout << S << endl;
}