HDU-1233-还是畅通工程(最小生成树)
还是畅通工程
Problem Description
某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最小。请计算最小的公路总长度。
Input
测试输入包含若干测试用例。每个测试用例的第1行给出村庄数目N ( < 100 );随后的N(N-1)/2行对应村庄间的距离,每行给出一对正整数,分别是两个村庄的编号,以及此两村庄间的距离。为简单起见,村庄从1到N编号。
当N为0时,输入结束,该用例不被处理。
Output
对每个测试用例,在1行里输出最小的公路总长度。
Sample Input
3
1 2 1
1 3 2
2 3 4
4
1 2 1
1 3 4
1 4 1
2 3 3
2 4 2
3 4 5
0
Sample Output
3
5
题意描述:
使所有的村庄都畅通需铺设的最短路
程序代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
#define inf 99999999
int dis[110],e[110][110],book[110];
int main()
{int n,min,u,i,j,k,sum,a,b,c;while(scanf("%d",&n)!=EOF){if(n==0)break;for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(i==j)e[i][j]=0;elsee[i][j]=inf;for(i=1;i<=n*(n-1)/2;i++){scanf("%d%d%d",&a,&b,&c);if(c<e[a][b])e[a][b]=e[b][a]=c;}for(i=1;i<=n;i++)dis[i]=e[1][i];memset(book,0,sizeof(book));book[1]=1;sum=0;for(k=1;k<=n-1;k++){min=inf;for(i=1;i<=n;i++)if(book[i]==0&&dis[i]<min){min=dis[i];u=i;}book[u]=1;sum+=dis[u];for(i=1;i<=n;i++)if(book[i]==0&&dis[i]>e[u][i])dis[i]=e[u][i];}printf("%d\n",sum);}return 0;
}
HDU-1233-还是畅通工程(最小生成树)相关推荐
- hdu 1233 还是畅通工程 最小生成树(prim算法 + kruskal算法)
还是畅通工程 Time Limit: 4000/2 ...
- hdu 1233 还是畅通工程(最小生成树的Prim和Kruskal两种算法的c++实现)(prim算法详解)...
赤裸裸滴最小生成树(MST),刚学的玩意,用两种方法熟练一下.(都是greedy) Kruskal方法:先对边按照代价非递减排序,再不断添加边且不产生环路,当边数=点数-1结束.判断加入(v,w)是否 ...
- HDU 1233 还是畅通工程(最小生成树 Prim+Kruskal)
原题地址 http://acm.hdu.edu.cn/showproblem.php?pid=1233 题意:(最小生成树裸题)有N个村庄,给出村庄两两之间的距离,要求铺设公路,使得任何两个村庄间都可 ...
- HDU 1233 还是畅通工程(最小生成树)
传送门 还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...
- hdu 1879 继续畅通工程 最小生成树
继续畅通工程 Time Limit: 2000/ ...
- hdu 1879 继续畅通工程 (最小生成树)
继续畅通工程 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 1879 继续畅通工程 最小生成树
继续畅通工程 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description ...
- HDU 1233 - 还是畅通工程
Problem Description 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离.省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直 ...
- hdu 1233 还是畅通工程 Kruskal 最小生成树 并查集
题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=1233 模板题,kruskal求最小生成树. 并查集是个好东西啊 就是注意一点 输入边的信息时,角标 ...
- HDU 1233 还是畅通工程。
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1233 x 解题思路: 简单的最小生成树 实现代码: #include <iostream> ...
最新文章
- Schnorr签名与比特币隐私的必然性
- 1 iOS设备的分辨率
- 如何理解写文档这件事情 ?
- VSCode中experimentalDecorators设置问题
- 京东双十一助推下沉市场消费升级,“消费平级”时代提前到来
- [结对2]必应缤纷桌面软件测试报告
- [book]道法自然
- java猜数字小游戏_Java实现简单猜数字小游戏
- 算法—巧排扑克牌(C语言)
- Oracle 11g EM安全证书问题无法访问的解决办法
- linux查看绑定ipv6的端口号,[原创]如何在windows和linux绑定IPV6
- 应用安全 - 代码审计 - JavaScript
- [HAOI2006]聪明的猴子
- ppt flash无法播放解决方法
- Android 上架应用市场整理
- MATLAB(3)MATLA 求极限 求积分 求微分 求级数的和
- 安卓笔记-视频版(还没学完)
- 自律机与计算机联锁的接口,调度集中车站自律机与计算机联锁操作.doc
- 服务器连接盘柜后盘符空间显示不对,服务器连接磁盘阵列柜
- Bootstrap-table 显示数据到表格
热门文章
- 熊猫烧香病毒背后的***社会
- 为什么你从来没做过发起人?
- 关于曼哈顿距离和切比雪夫距离的转换和应用
- VisualSVN安装图解
- python+Django框架运用(一)
- win10 + VS2015 + EF6 + MySQL
- android点滴之PendingIntent的使用
- 支付宝SDK ios快捷支付
- compilation targetFrameworkMoniker=.NETFramework,Version=v4.0
- VSTO 2005 项目的布署和运行