# 생각
이름은 중요하지 않기 때문에 종류에 따라 수를 결정하는 map을 이용하여 해결 가능하다
선택을 하지 않는 경우도 있기 때문에 +1의 조합의 경우를 생각해야하고
단, 아무것도 입지 않은 경우는 제외해야 하기 때문에 전체 경우의 수에서 -1을 한다
# 전체 코드
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void fastIO() { ios::sync_with_stdio(false); cin.tie(nullptr); }
int main()
{
fastIO();
int TC;
cin >> TC;
while (TC--)
{
int n;
cin >> n;
map<string, int> m;
string s1, s2;
for (int i = 0; i < n; i++)
{
cin >> s1 >> s2;
m[s2]++;
}
ll ans = 1;
for (auto& i : m)
{
ans *= i.second + 1;
}
ans--;
cout << ans << '\n';
}
}
https://www.acmicpc.net/problem/9375
9375번: 패션왕 신해빈
첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다.
www.acmicpc.net
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1940_주몽.cpp (0) | 2022.05.30 |
---|---|
[BOJ] 1213_팰린드롬 만들기.cpp (0) | 2022.05.30 |
[BOJ] 1620_나는야 포켓몬 마스터 이다솜.cpp (0) | 2022.05.29 |
[BOJ] 2559_수열.cpp (0) | 2022.05.29 |
[BOJ] 9996_한국이 그리울 땐 서버에 접속하지.cpp (0) | 2022.05.29 |