-
Union Find 알고리즘파이썬 알고리즘 2021. 2. 18. 19:16
def find(parent, u):
if u == parent[u]:
return u
parent[u] = find(parent, parent[u])
return parent[u]
def merge(parent, u, v):
u = find(parent, u)
v = find(parent, v)
if u == v:
return True
parent[u] = v
return False
def solution(n, connections):
answer = 0
parent = [i for i in range(n+1)]
for i, connection in enumerate(connections):
if merge(parent, connection[0], connection[1]):
answer = i + 1
break
return answer참고
'파이썬 알고리즘' 카테고리의 다른 글
백준 2460 (0) 2022.01.22 백준 3460 (0) 2022.01.22 백준 10818 (0) 2022.01.22 DFS, BFS 알고리즘 (0) 2021.12.16 library "itertools" 유용한 함수 모음 (0) 2021.02.18