2025-11-08 19:59:09 +09:00

35 lines
685 B
Python

import sys
sys.setrecursionlimit(10**6)
V, E = map(int, input().split())
edges = []
for _ in range(E) :
u, v, w = map(int, input().split())
edges.append((w,u,v))
edges.sort()
parent = [i for i in range(V+1)]
total_weight = 0
def find_parent(x) :
if x != parent[x] :
parent[x] = find_parent(parent[x])
return parent[x]
def union_parent(x, y) :
parentX = find_parent(x)
parentY = find_parent(y)
if parentX < parentY :
parent[parentY] = parentX
else :
parent[parentX] = parentY
for w, u, v in edges :
if find_parent(u) != find_parent(v) :
total_weight += w
union_parent(u, v)
print(total_weight)