还是畅通工程
Posted SDAU_ZG
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了还是畅通工程相关的知识,希望对你有一定的参考价值。
当N为0时,输入结束,该用例不被处理。
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{
int a,b;
int len;
}per[5000];
int cmp(node x,node y)
{
if(x.len!=y.len) return x.len<y.len;
}
int main()
{
int i,sum,n,m,num;
int flag[200];
while(scanf("%d",&n),n!=0)
{
m=(n*(n-1))/2;
for(i=0;i<m;i++)
{
scanf("%d%d%d",&per[i].a,&per[i].b,&per[i].len);
}
sort(per,per+m,cmp);
for(i=1;i<=n;i++) flag[i]=1;
flag[per[0].a]=0;
sum=0;
for(i=0;i<m;i++)
{
num=flag[per[i].a]+flag[per[i].b];
if(num==1)
{
sum+=per[i].len;
flag[per[i].a]=flag[per[i].b]=0;
i=0;
}
}
printf("%d\n",sum);
}
return 0;
}
以上是关于还是畅通工程的主要内容,如果未能解决你的问题,请参考以下文章