【よくわかる解説!】ABC349 B問題 〜数えて数える(mapを用いているよ)〜

ABC

解説動画はこちら!

コード

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define rep(i, n) for (int i = 0; i < (n); ++i)

int main() {
    string s;
    cin >> s;
    int n = s.size();

    map<char, int> mp;

    rep(i, n) {
        mp[s[i]]++;
    }

    map<int, int> cnt;
    for (auto e : mp) {
        cnt[e.second]++;
    }

    for (auto e : cnt) {
        if (e.second != 0 && e.second != 2) {
            cout << "No" << endl;
            return 0;
        }
    }

    cout << "Yes" << endl;
    return 0;
}

コメント