题目链接:
POJ 1751 Highways
题意:
有n个点需要修公路将这n个点连通,修公路里程越长,成本越高。已知有m条公路已经修好了的。
求出最少成本下,需要修哪些公路,将这些公路的起始点输出来。
分析:
最小生成树。将m条已经修好的公路用并查集合并下,再用Kruskal算法记录下修的公路起始点即可。
注意:
测试样例无需循环读入,直接scanf(“%d”,&n);即可,用while反而WA.
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
using namespace std;const <