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

HDU1879

时间:2020-05-01 12:20:31      阅读:56      评论:0      收藏:0      [点我收藏+]

标签:cin   scan   rom   bre   +=   struct   nbsp   bsp   tor   

已经建的边两个端点合并一下再跑Kruscal就好了

注意:cin会被卡

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 struct node{
 5     int from,to,w;
 6     bool operator < (const node &a){
 7         return w<a.w;
 8     }
 9 }a[10010];
10 int n,m,u,v,w,x,f[101],ans;
11 
12 void ini(){
13     for (int i=1;i<=n;i++) f[i]=i;
14     ans=0;
15 }
16 
17 int getf(int u){
18     return f[u]==u?f[u]:f[u]=getf(f[u]);
19 }
20 
21 void merge(int u,int v){
22     f[getf(u)]=getf(v);
23 }
24 
25 void solve(){
26     while (scanf("%d",&n)!=EOF){
27         if (n==0) break;
28         ini();
29         m=n*(n-1)/2;
30         for (int i=1;i<=m;i++){
31             scanf("%d %d %d %d",&u,&v,&w,&x);
32             a[i]={u,v,w};
33             if (x) merge(u,v);
34         }
35         sort(a+1,a+1+m);
36         for (int i=1;i<=m;i++){
37             if (getf(a[i].from)!=getf(a[i].to)){
38                 ans+=a[i].w;
39                 merge(a[i].from,a[i].to);
40             }
41         }
42         cout<<ans<<endl;
43     }
44 }
45 
46 int main()
47 {
48     solve();
49     return 0;
50 }

 

HDU1879

标签:cin   scan   rom   bre   +=   struct   nbsp   bsp   tor   

原文地址:https://www.cnblogs.com/whiteli/p/12813096.html

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