POJ 1287

来源:互联网 发布:js可以控制浏览器比例 编辑:程序博客网 时间:2024/05/16 03:59
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>using namespace std;struct Edge{ int u,v,w;}edge[100000];int p[105];int m,k;long long n;bool cmp(Edge a,Edge b){  return a.w<b.w;}int find(int x){  return p[x]==x?x:p[x]=find(p[x]);}int kruskal(){  int ans=0,num=0;  for(int i=1;i<=n;i++)  p[i]=i;  sort(edge,edge+k,cmp);  for(int i=0;i<k;i++)  {int p1=find(edge[i].u);int p2=find(edge[i].v);if(p1!=p2){  ans+=edge[i].w;  p[p1]=find(p2);  num++;}if(num==n-1)  return ans;  }}int main(){while(scanf("%d",&n)&&n){  scanf("%d",&m);      k=0;  while(m--)  {  scanf("%d%d%d",&edge[k].u,&edge[k].v,&edge[k].w);  k++;  }  int ans=kruskal();  printf("%d\n",ans);}return 0;}

0 0
原创粉丝点击