利用Kruskal算法计算最小生成树

Description
利用Kruskal算法计算最小生成树。
Input
输入第一行是两个整数n1 n2,其中n1表示顶点数(则顶点编号为0至n1-1),n2表示图中的边数。之后有n2行输入,每行输入表示一条边,格式是“顶点1 顶点2 权重”。其中顶点1编号小于顶点2编号,权重是整数类型。例如:4 60 1 40 2 50 3 61 2 21 3 12 3 4
Output
依次输出每轮选择的边,每条边占一行,格式为“顶点1 顶点2”。其中顶点1编号小于顶点2编号。输出全部边后再输出最小生成树的权重,之后输出一个换行符。例如,对于上面的示例输入,输出为:1 31 20 17
Sample Input 1 
2 1
0 1 88
Sample Output 1
0 1
88
Sample Input 2 
3 3
0 1 30
0 2 25
1 2 10
Sample Output 2
1 2
0 2
35
Sample Input 3 
4 6
0 1 4
0 2 5
0 3 6
1 2 2
1 3 1
2 3 4
Sample Output 3
1 3
1 2
0 1
7