문제 링크 : www.acmicpc.net/problem/9375
내 풀이(2021.1.22.) :
#include <iostream>
#include <map>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int T; cin >> T;
for (int i = 0; i < T; i++) {
map<string, int> m;
int n; cin >> n;
for (int i = 0; i < n; i++) {
string temp, temp2; cin >> temp >> temp2;
if (m.find(temp2) == m.end()) m[temp2] = 1;
else m[temp2] = m[temp2] + 1;
//cout << " " << m[temp2] << endl;
}
int res = 1;
for (auto it = m.begin(); it != m.end(); it++) {
res *= (it->second + 1);
//cout << "--- " << it->second << endl;
}
cout << res - 1 << endl;
}
return 0;
}
'알고리즘 > 자료 구조' 카테고리의 다른 글
백준 1620번 : 나는야 포켓몬 마스터 이다솜 (0) | 2021.01.21 |
---|---|
백준 15903번 : 카드 합체 놀이 (0) | 2021.01.05 |
우선순위 큐와 힙 개념 및 C++ STL (0) | 2021.01.04 |
C++로 알고리즘 풀이 시 필수 지식 (0) | 2021.01.03 |
C++ STL vector 시간복잡도 (0) | 2020.12.31 |