https://www.acmicpc.net/problem/9375
#Solution
산수를 생각하면 쉽다. 알몸으로 다니지 않는 경우의 수는
(종류별 옷의 수) + 1을 전부 곱해주고 (해당 종류의 옷을 안 입는 경우의 수를 포함한 것)
알몸의 경우의 수인 1만 빼주면 된다.
T = int(input())
for _ in range(T):
n = int(input())
#0일때 탈출
if n == 0:
print(0)
continue
wearable = dict()
for _ in range(n):
wear_name, wear_type = map(str, input().split())
#같은 옷 분류 중, 이름은 버리고 종류만 가져가기
if wear_type in wearable.keys():
wearable[wear_type] += 1
else:
wearable[wear_type] = 1
#(각 옷의 수)+1 한 것을 곱해줌
answer = 1
for key in wearable.keys():
answer *= wearable[key] + 1
#안입는 경우만 뺴줌
print(answer - 1)
'Programming [Python] > 백준 알고리즘 솔루션' 카테고리의 다른 글
#214 백준 파이썬 [9987] 포켓몬 마스터 - 웹크롤링 (0) | 2019.11.20 |
---|---|
#213 백준 파이썬 [2740] 행렬 곱셈 (0) | 2019.11.18 |
#211 백준 파이썬 [2981] 검문 - GCD (0) | 2019.11.18 |
#210 백준 파이썬 [11051] 이항 계수 2 (0) | 2019.11.17 |
#209 백준 파이썬 [1010] 다리 놓기 - 조합 (0) | 2019.11.14 |