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

hamayanhamayan's blog

3人兄弟(その2) [yukicoder No.571]

https://yukicoder.me/problems/no/571

解法

https://yukicoder.me/submissions/207935

その1同様sortを使って解く。
pairのfirst降順、second昇順は標準でソート機能が用意されていないので比較関数を自前で書く。

void _main() {
    string s = "ABC";
    vector<pair<pair<int,int>, char>> v;
    rep(i, 0, 3) {
        int a, b; cin >> a >> b;
        v.push_back({ {a, b}, s[i] });
    }
    sort(v.begin(), v.end(), [&](pair<pair<int, int>, char> a, pair<pair<int, int>, char> b) {
        if (a.first.first != b.first.first) return a.first.first > b.first.first;
        return a.first.second < b.first.second;
    });
    fore(p, v) printf("%c\n", p.second);
}