最小生成树-kruskal算法

Problem Description

在一个无向图中,求最小生成树。

Input

多组测试数据,对于每组测试数据,第1行输入正整数n(1 <= n <= 1000)、m,表示n个顶点(编号从1开始)和m条边。之后m行每行输入u(1 <= u <= n)、v(1 <= v <= n)、w(1 <= w <= 100),表示在顶点u和顶点v之间存在无向边,且权值为w。

Output

对于每组测试数据,若存在最小生成树则输出最小生成树的权值和,若不存在最小生成树则输出-1。

Sample Input

3 7
1 2 19
2 3 11
3 1 7
1 3 5
2 3 89
3 1 91
1 2 32

Sample Output

16

#include 
#include 
using namespace std;
int f[1200];
struct node
{
    int u,v,w;
}e[120000];
int cmp(struct node a,struct node b)
{
    return a.w


你可能感兴趣的:(最小生成树)