n,v = map(int,input().split())
graph = [[10001]*(n+1) for _ in range(n+1)]
# 用邻接矩阵存储各边信息
for i in range(v):
x,y,z = map(int,input().split())
graph[x][y] = z
graph[y][x] = z
visit = [False] *(n+1)
minDist = [10001]*(n+1)
for i in range(1,n+1):
minval = 10002
cur = -1
for j in range(1,n+1): # 找到距离当前节点最近的点
if visit[j] == False and minDist[j] < minval:
cur = j
minval = minDist[j]
visit[cur] = True
for k in range(1,n+1): # 把与当前节点相连接的点的距离换成权重值
if visit[k] == False and graph[cur][k] < minDist[k]:
minDist[k] = graph[cur][k]
ans = 0
for i in range(2,n+1):
ans += minDist[i]
print(ans)
53.寻宝
最新推荐文章于 2025-06-14 09:35:25 发布