码迷,mamicode.com
首页 > 其他好文 > 详细

Kruskal求最小生成树

时间:2017-12-07 00:18:41      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:int   struct   bit   sort   main   eps   最小生成树   克鲁斯   ++   

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn= 5e4+10;
 4 const double eps= 1e-6;
 5 const int inf = 0x3f3f3f3f;
 6 const int mod =3;
 7 typedef long long ll;
 8 typedef long double ld;
 9 int n,m;
10 int p[maxn];
11 struct edge
12 {
13     int u,v,w;
14 }a[maxn];
15 int cmp(edge a,edge b)
16 {
17     return a.w<b.w;
18 }
19 int find(int x)
20 {
21     return p[x]==x?x:p[x]=find(p[x]);
22 }
23 int main()
24 {
25     while(scanf("%d %d",&n,&m)!=EOF)
26     {
27         int u,v,w;
28         for(int i=0;i<m;i++)
29         {
30             scanf("%d %d %d",&a[i].u,&a[i].v,&a[i].w);
31         }
32         sort(a,a+m,cmp);
33         int sum=n,ans=0;
34         for(int i=1;i<=n;i++)
35             p[i]=i;
36         for(int i=0;i<m;i++)
37         {
38             int x,y,z;
39             x=find(a[i].u),y=find(a[i].v),z=a[i].w;
40             if(x!=y)
41             {
42                 ans+=z;
43                 p[x]=y;
44             }
45         }
46         printf("%d\n",ans);
47     }
48 }

克鲁斯卡尔求最小生成树

Kruskal求最小生成树

标签:int   struct   bit   sort   main   eps   最小生成树   克鲁斯   ++   

原文地址:http://www.cnblogs.com/stranger-/p/7995046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!