https://www.acmicpc.net/problem/9375
import sys
input = sys.stdin.readline
T = int(input())
for i in range(T):
clothes = {}
N = int(input())
for j in range(N):
name, category = input().split()
if category not in clothes:
clothes[category] = [name]
else:
clothes[category].append(name)
result = 1
for cate in clothes:
length = len(clothes[cate])
result *= length + 1
print(result - 1)
(N + 1)(M + 1) = > 모든 경우의 수
result - 1을 해야 하나도 안입는 경우를 뺄 수 있다.
728x90
'파이썬 알고리즘 문제 풀이' 카테고리의 다른 글
[백준] G5. boj2293 동전1 / 분류 : DP 🙁 (1) | 2024.03.25 |
---|---|
[백준] G5. boj14502 연구실 / 분류: bfs 🙁 (0) | 2024.03.25 |
[백준] S2. boj2512 예산 / 분류 : 이분 탐색 (2) | 2024.03.20 |
[백준] S1. 2468번 안전영역 / 분류: DFS, BFS (0) | 2024.03.18 |
[백준] S4. 카드2 / 분류: 자료구조 (2) | 2024.03.18 |