def find(x):
if x != parents[x]:
parents[x] = find(parents[x])
return parents[x]
def union(x, y):
root1 = find(x)
root2 = find(y)
if root1 != root2:
parents[root2] = root1
numbers[root1] += numbers[root2]
tc = int(input())
for _ in range(tc):
parents = dict()
numbers = dict()
f = int(input())
for _ in range(f):
x, y = input().split()
if x not in parents:
parents[x] = x
numbers[x] = 1
if y not in parents:
parents[y] = y
numbers[y] = 1
union(x, y)
print(numbers[find(x)])
'> 알고리즘 문제 풀이 > BOJ' 카테고리의 다른 글
11004-K번째 수 (python) (0) | 2020.10.12 |
---|---|
2751-수 정렬하기 2 (python) (0) | 2020.10.12 |
7490-0 만들기 (python) (0) | 2020.10.11 |
2747-피보나치 수 (python) (0) | 2020.10.11 |
10989-수 정렬하기 3 (python) (0) | 2020.10.11 |
댓글