https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do
풀이
def find_set(x):
val = P[x]
if x == val:
return x
else:
return find_set(P[x])
def union(x, y):
P[find_set(x)] = P[find_set(y)]
for tc in range(int(input())):
N, M = map(int, input().split())
info = list(map(int, input().split()))
P = [i for i in range(N+1)]
for i in range(0, M*2, 2):
a, b = info[i], info[i+1]
union(a, b)
rst = set()
for i in range(1, N+1):
rst.add(find_set(i))
print(f'#{tc+1}', len(rst))
'SWEA' 카테고리의 다른 글
SWEA 5249 최소 신장 트리 Prim (파이썬) (0) | 2022.09.29 |
---|---|
SWEA 5249 최소 신장 트리 Kruskal (파이썬) (1) | 2022.09.29 |
SWEA 5247 연산 (그래프) (파이썬) (0) | 2022.09.28 |
SWEA 1865 동철이의 일 분배 (파이썬) (0) | 2022.09.27 |
SWEA 5208 전기버스2 (파이썬) (0) | 2022.09.27 |