Hdu1233 - 还是畅通工程 - 最小生成树

来源:互联网 发布:辐射4内存优化 编辑:程序博客网 时间:2024/09/21 08:56
#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int p[105];struct R{int st,ed,len;}road[10000];int find(int n){return p[n]==n?p[n]:find(p[n]);}int cmp(R a,R b){return a.len<b.len;}int main(){int n,i;while(scanf("%d",&n)!=EOF){if(n==0){break;}for(i=1;i<=n;i++){p[i]=i;}memset(road,0,sizeof(road));for(i=1;i<=n*(n-1)/2;i++){scanf("%d%d%d",&road[i].st,&road[i].ed,&road[i].len);}sort(road+1,road+n*(n-1)/2+1,cmp);int count=0;int sum=0;i=1;while(count<n-1){int a=find(road[i].ed);int b=find(road[i].st);if(a!=b){p[a]=b;count++;sum+=road[i].len;}i++;}printf("%d\n",sum);}}

0 0
原创粉丝点击