35 lines
685 B
Python
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) |