🐥

ABC 003 | B - さかさま辞書

2020/11/16に公開

問題

https://atcoder.jp/contests/arc003/tasks/arc003_2

考えたこと

逆さまに文字列を並べた順でソートされていればいい。
よって入力時に文字列をさかさまにして、ソートし、それを出力時に戻せば答えとなる。

コード

#include <bits/stdc++.h>

#include <atcoder/all>

using namespace std;
using namespace atcoder;
using ll = long long;
using ld = long double;
using uint = unsigned int;
using ull = unsigned long long;
const int MOD = 1e9 + 7;

int main() {
  ll n;
  cin >> n;
  vector<string> s(n);
  for (int i = 0; i < n; i++) {
    cin >> s[i];
    reverse(s[i].begin(), s[i].end());
  }
  sort(s.begin(), s.end());
  for (int i = 0; i < n; i++) {
    reverse(s[i].begin(), s[i].end());
    cout << s[i] << endl;
  }
}

参考

Discussion