AtCoder Regular Contest 3 B. さかさま辞書
※このエントリは競プロで圧倒的成長 Advent Calendar 2015の18日目のエントリです.
ARCのB問題が全部埋まりそうなので年内に埋めようと思います.
問題概要
- 与えられた文字列を,辞書順で末尾が若い順に並べ替える
- 末尾が同じなら末尾から2番めの文字,それも同じなら3番目の文字という風に比較する
解法
- 与えられた文字列をさかさまに並べ替える
例: apple→elppa - pair<さかさまに並べ替えた文字,index>をsetに格納する
- setに挿入すると昇順に並ぶので,逆さま辞書順になる
- setの中身を展開してindexを使って元の文字列を表示する
よく考えるとpair<さかさまに並べ替えた文字列,元の文字列>でよかったなあ…