728x90
문제 요약
한번 입었던 옷들의 조합 다시 안 입는 해빈이 - 알몸이 아닌 상태로 며칠 돌아다닐 수 있는가
풀이
간단한 조합 문제이다.
import sys
input = sys.stdin.readline
result = []
testcases = int(input()) # 테스트케이스 개수
def combi(clothes_dict):
count = 1 # 곱셈을 위한 초기값
for clo_type in clothes_dict:
count *= (len(clothes_dict[clo_type]) + 1) # + 1 은 선택하지 않는 경우 포함
return count - 1 # 알몸인 경우 제외
for _ in range(testcases):
n = int(input()) # 의상 수
clothes = dict() # 각 테스트케이스마다 초기화
for _ in range(n):
name, clo_type = input().split()
if clo_type in clothes:
clothes[clo_type].append(name)
else:
clothes[clo_type] = [name] # 리스트로 초기화
result.append(combi(clothes))
for c in result:
print(c)
728x90