08-图7 公路村村通 (30 分)
前言:本题来自浙大PTA上的数据结构练习题
题目描述
现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。
输入格式:
输入数据包括城镇数目正整数N(≤1000)和候选道路数目M(≤3N);随后的M行对应M条道路,每行给出3个正整数,分别是该条道路直接连通的两个城镇的编号以及该道路改建的预算成本。为简单起见,城镇从1到N编号。
输出格式:
输出村村通需要的最低成本。如果输入数据不足以保证畅通,则输出−1,表示需要建设更多公路。
输入样例:
123456789101112131415166 151 2 51 3 31 4 71 5 41 6 22 3 42 4 62 5 22 6 63 4 63 5 13 6 14 5 104 6 85 6 3结尾无空行
输出样例:
112
题目理解与思路
本题是最小生成树的问题,可以采用Kruskal算法加并查集实现,或者使用简单的Prim算法实现。
本文使用Kruskal算法来解题,代码如下
Kruskal
本解法越写越复杂 ...