hdu 1233 还是畅通工程

来源:互联网 发布:建站软件 编辑:程序博客网 时间:2024/09/21 09:18
#include<stdio.h>#include<math.h>#include<stdlib.h>int m,n,f[100];struct mapy{    int x,y,len;}map[5000];int cmp(const void *a,const void *b){    return (*(struct mapy *)a).len-(*(struct mapy *)b).len;}int find(int a){    if(a!=f[a])        f[a]=find(f[a]);    return f[a];}void dj(){    int i,num,sum;    for(i=0;i<100;i++)        f[i]=i;    qsort(map,m,sizeof(map[0]),cmp);    sum=0;num=0;    for(i=0;i<m;i++)    {        if(find(map[i].x)!=find(map[i].y))        {            sum=sum+map[i].len;            f[find(map[i].x)]=find(map[i].y);            num++;        }        if(num==n-1)            break;    }    printf("%d\n",sum);}int main(){        while(scanf("%d",&n),n)    {             for(m=0;m<n*(n-1)/2;m++)            scanf("%d%d%d",&map[m].x,&map[m].y,&map[m].len);            dj();    }    return 0;}

原创粉丝点击