#S8U13P01. 朴素Prim建设费用

朴素Prim建设费用

朴素Prim建设费用

难度:T2

【知识点:Prim最小生成树】

前置知识:本单元此前讲解的状态、边界与实现。

题目描述

从候选无向边中选择一棵连通全部顶点的生成树,求最小总费用;无法连通时报告无解。

输入格式

其中 nn 为顶点数,顶点编号为 11 到 nn;mm 为随后给出的带权边条数。每条带权边独占一行,依次为 u,v,wu,v,w,表示从 uu 到 vv 的边及权值 ww;无向边可双向通行,有向边只能从 uu 到 vv 通行。

输入nn、mm,再输入mm条无向边uu、vv、ww;允许重边、自环和负权。

规则说明

生成树是选取原图中的一部分边,使所有顶点连通且不形成环;费用为选中边的权值之和。最小生成树是在所有生成树中总费用最小的一个。只有一个顶点时,不选边即可形成生成树,费用为 00。

输出格式

存在生成树输出最小费用,否则输出IMPOSSIBLE。

数据范围

1≤n≤5001\le n\le 500,0≤m≤2000000\le m\le 200000,∣w∣≤109|w|\le 10^9。

样例输入

3 3
1 2 2
1 3 3
2 3 2

样例输出

4

样例说明

选择连接 11 与 22、22 与 33 的两条边,总费用为 2+2=42+2=4。