1일1알

Judge - 1234 : 서로 다른 단어 하지만 우리는 하나 C++ 본문

알고리즘

Judge - 1234 : 서로 다른 단어 하지만 우리는 하나 C++

영춘권의달인 2022. 7. 13. 16:33

출처 : https://judge.koreatech.ac.kr/problem.php?id=1234

 

모든 문자열들의 하나하나의 문자들을 map에 넣어서 알파벳의 개수를 저장한다.

map을 순회하면서 알파벳의 개수가 n으로 나누어떨어지지 않는다면 모두 같은 단어로 만들 수 없다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>
 
using namespace std;
using int64 = long long;
 
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
 
    int n;
    cin >> n;
    map<char, int> mp;
    for (int i = 0; i < n; i++) {
        string str;
        cin >> str;
        for (int j = 0; j < str.length(); j++) {
            mp[str[j]]++;
        }
    }
    bool ans = true;
    for (auto a : mp) {
        if (a.second % n != 0) {
            ans = false;
            break;
        }
    }
    if (ans) {
        cout << "true";
    }
    else {
        cout << "false";
    }
}