以下の内容はhttps://blog.hamayanhamayan.com/entry/2020/02/16/230827より取得しました。


Poll [AtCoder Beginner Contest 155 C]

https://atcoder.jp/contests/abc155/tasks/abc155_c

解説

https://atcoder.jp/contests/abc155/submissions/10161782

文字列をそれぞれ数えて、一番頻度の高いやつをまとめて答えるという問題。
指示されていることを実装するのだが、c++であればmapを使うのが最も簡単。
map<string,int>で使い、intで数えていく。
valueの最大値miを計算し、value=miであるkeyを答えればいい。
mapはkeyでソートされているため、順番に答えれば自然と辞書順で小さい順に出力できる。

int N;
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    map<string, int> cnt;
    rep(i, 0, N) {
        string s; cin >> s;
        cnt[s]++;
    }

    int ma = -1;
    fore(p, cnt) chmax(ma, p.second);
    fore(p, cnt) if (p.second == ma) printf("%s\n", p.first.c_str());
}



以上の内容はhttps://blog.hamayanhamayan.com/entry/2020/02/16/230827より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14