728x90
반응형

우선 사전을 사용해서 의상을 종류별로 분류하고 몇 개의 의상이 있는지 센다.

한 종류당 의상의 개수 + 1개의 선택지가 생기는데 1개가 더해진 이유는 입지 않는 경우도 포함했기 때문이다.

각 의상의 종류별 선택지의 개수를 모두 곱하고 모두 안 입었을 경우는 제외해야 되므로 1을 뺀다. 

EX) hat headgear, sunglasses eyewear, turban headgear

headgear 2개, eyewear 1개

-> ans = (2+1)*(1+1) - 1 = 3*2 - 1 = 6 - 1 = 5

for _ in range(int(input())):
    dic = {}
    for i in range(int(input())):
        v, k = input().split()
        if k not in dic:
            dic[k] = 1
        else:
            dic[k] += 1
    ans = 1
    for value in dic.values():
        ans *= (value + 1)
    print(ans - 1)

728x90
반응형

+ Recent posts