# 생각

이름은 중요하지 않기 때문에 종류에 따라 수를 결정하는 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

 

+ Recent posts