AtCoder Regular Contest 3 B. さかさま辞書

※このエントリは競プロで圧倒的成長 Advent Calendar 2015の18日目のエントリです.

問題

ARCのB問題が全部埋まりそうなので年内に埋めようと思います.

問題概要

  • 与えられた文字列を,辞書順で末尾が若い順に並べ替える
  • 末尾が同じなら末尾から2番めの文字,それも同じなら3番目の文字という風に比較する

解法

  • 与えられた文字列をさかさまに並べ替える
    例: apple→elppa
  • pair<さかさまに並べ替えた文字,index>をsetに格納する
  • setに挿入すると昇順に並ぶので,逆さま辞書順になる
  • setの中身を展開してindexを使って元の文字列を表示する

よく考えるとpair<さかさまに並べ替えた文字列,元の文字列>でよかったなあ…