还是畅通工程(Kruscal)_02

news/2024/12/22 2:10:17/
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1000;
int father[MAXN];//父亲结点
int height[MAXN];//高度结点
struct Edge{int from;int to;int length;
};
Edge edge[MAXN*MAXN];
//初始化 
void init(int n){for(int i=0;i<=n;i++){father[i]=i;height[i]=0;}
}
bool bmp(Edge a,Edge b){if(a.length!=b.length){return a.length<b.length;}
}
//查找 
int find(int x){if(x!=father[x]){x = find(father[x]);}return x;
} //合并
void union1(int x,int y){int x1=find(x);//返回父结点 int y1=find(y);if(x1!=y1){if(height[x1]<height[y1]){father[x1]=y1;}else if(height[x1]>height[y1]){father[y1]=x1;}else if(height[x1]==height[y1]){father[x1]=y1;height[y1]++;}}
} 
int Kruscal(int n,int edgenum){init(n);//重要 int result=0;sort(edge,edge+edgenum,bmp);for(int i=0;i<edgenum;i++){Edge current=edge[i];if(find(current.from)!=find(current.to)){union1(current.from,current.to);result+=current.length;}}return result;
}
int main(){int n,edgenum;while(cin>>n){edgenum=n*(n-1)/2;if(n==0)break;for(int i=0;i<edgenum;i++){cin>>edge[i].from>>edge[i].to>>edge[i].length;}int result = Kruscal(n,edgenum);cout<<result<<endl;}return 0;
}

http://www.ppmy.cn/news/91070.html

相关文章

PMP例题 学习记录

1、 项目经理同时担任项目A和项目B的管理工作&#xff0c;其中项目A是符合公司总体战略计划的项目&#xff0c;项目B是项目经理直接领导负责的项目&#xff0c;两个项目在资源使用需求上有冲突&#xff0c;项目经理应该怎么办&#xff1f; A、请求PMO对两个项目的优先级进行排…

震惊!吊打面试官,必备的 SpringCloud 微服务面试题(VIP典藏版)

目录 福利&#xff1a;文末有分享SpringBoot教程及源码哦《【imooc-java2021】体系课-Java工程师 》 Spring Cloud微服务面试题 1、Spring Cloud Netflix和Spring Cloud Alibaba包括哪些组件 2、Nacos是CP还是AP? 3、Nacos作为注册中心应该选择是CP还是AP&#xff1f; 4、…

油猴脚本尝试

现在是这样的&#xff0c;我这边有个运维系统&#xff0c;里面有个日志&#xff0c;我们经常要复制&#xff0c;然后我们复制的时候需要打开内容&#xff0c;然后去选中复制。 类似于这种&#xff0c;我觉得这个时候&#xff0c;去选中复制就很麻烦&#xff0c;右边这里不是有…

Android之 MVC到MVVM架构发展和封装

一 简介 1.1 软件架构发展趋势是解耦&#xff0c;即分离数据层和视图层&#xff0c;使得数据层专注于业务的数据和逻辑处理。从而提高代码的可读可编辑效率&#xff0c;提高团队协作能力&#xff0c;项目的生产能力&#xff0c;降低后期维护成本。 1.2 Android架构发展MVC -…

【Java递归】一篇文章带你了解,什么是递归 ,递归的特点,递归应用场景,递归练习题

博主&#xff1a;東方幻想郷 专栏分类&#xff1a;Java | 从入门到入坟 Java递归 ⭐ 递归的定义⭐ 递归的特点⭐ 递归应用场景⭐ 简单例子⭐ 递归练习题&#x1f30c; 练习题模板&#x1f3f4;‍☠️ 练习题答案&#xff1a; ⭐ 递归的定义 &#x1f31f;递归是一种在方法通过调…

02-Python列表入门【100个Python知识点】

Python是一种通用的高级编程语言&#xff0c;它特别适合于数据分析、机器学习、网络编程以及自动化脚本等方面的使用。在Python中&#xff0c;有一种非常强大的数据结构叫做列表&#xff08;List&#xff09;。今天&#xff0c;我们将介绍Python列表的基本概念&#xff0c;以及…

二、软件工程——Modeling

1.Undestanding Requirements System Engineering&#xff08;系统工程&#xff09; &#xff01;&#xff01;&#xff01;Requirements Engieering(需求建模&#xff09; 1.Inception&#xff08;开始&#xff09;&#xff1a;&#xff08;确认利益相关者&#xff09; 2.…

支撑企业未来10年高增长,用友资金管理平台助力新零售企业逆境破局

随着大数据、云服务、5G等技术的深化发展&#xff0c;人们消费观念及需求逐渐变化&#xff0c;我国新零售业数字化进程不断加快。近年来&#xff0c;新零售已经不仅局限于单一的零售范畴&#xff0c;逐步演变为集零售、快递物流、金融科技、企业服务、人工智能等各行各业为一体…