hdu 1233 还是畅通工程 最小生成树
来源:互联网 发布:自动对比度算法 编辑:程序博客网 时间:2024/06/13 22:53
还是畅通工程
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 50958 Accepted Submission(s): 23218
Problem Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
当N为0时,输入结束,该用例不被处理。
Output
对每个测试用例,在1行里输出最小的公路总长度。
裸题不解释。。。
#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;#define N 105int pre[N];int Maps[N][N];int n,m;struct Side{ int x,y,len; bool operator<(const Side &a)const{ return len<a.len; }}s[N*N];int Find(int x){ if(pre[x]!=x) { return pre[x]=Find(pre[x]); } return x;}int Merge(int x,int y){ int X=Find(x); int Y=Find(y); if(X!=Y) { pre[X]=Y; return 1; } return 0;}void init(){ int len=N*N; for(int i=0;i<len;i++){ pre[i]=i; }}int kruskal(){ init(); int res=0; int Count=0; sort(s,s+m); for(int i=0;i<m;i++){ if(Merge(s[i].x,s[i].y)){ res+=s[i].len; } if(Count == n-1){ break; } } return res;}int main(){ while(scanf("%d",&n),n) { m = n*(n-1)/2; for(int i=0; i<m; i++) { scanf("%d%d%d",&s[i].x,&s[i].y,&s[i].len); } printf("%d\n",kruskal()); }}
阅读全文
0 0
- hdu 1233 还是畅通工程(Prim最小生成树)
- hdu 1233 还是畅通工程(最小生成树Kruskal)
- hdu 1233 还是畅通工程(最小生成树)
- hdu 1233 最小生成树 "还是畅通工程"
- hdu 1233 还是畅通工程--最小生成树prim
- HDU 1233 还是畅通工程 最小生成树
- hdu 1233 还是畅通工程【最小生成树入门】
- HDU 1233 还是畅通工程---prim求最小生成树
- hdu 1233 还是畅通工程(最小生成树)
- HDU-1233 还是畅通工程 最小生成树Prime
- HDU 1233 还是畅通工程(最小生成树)
- [ACM] hdu 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程(最小生成树)
- HDU 1233 还是畅通工程(最小生成树)
- hdu 1233 还是畅通工程(图论:最小生成树)
- HDU 1233 还是畅通工程 最小生成树入门
- HDU 1233 还是畅通工程(最小生成树入门)
- HDU 1233 还是畅通工程 最小生成树
- 悬浮按钮+切换布局
- Angular4
- for循环的执行顺序(案例+详解)
- C++协程库coroutine使用指南
- 机器学习笔记之(三)常用的求导公式
- hdu 1233 还是畅通工程 最小生成树
- Python作用域总结
- tcp 服务端如何判断客户端断开连接
- python tkinter grid 拉伸
- redis源码分析(2)——SDS API详解
- redis Lua脚本(二)
- 一口气搞懂《虚函数和纯虚函数》
- Python基础 itertools
- Rxjava+Retrofit+Okhttp(原理)