HDU 1863 通畅工程
来源:互联网 发布:淘宝怎么下载数据包 编辑:程序博客网 时间:2024/06/10 08:33
思路清晰的迪杰斯特拉算法,求最小生成树,解决带权值的并查集问题。
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int Map[102][102],vis[102],d[102];int main(){ int a,b,v,n,m,i,j; while(~scanf("%d%d",&n,&m)&&n) { memset(Map,0,sizeof(Map)); int N=n; while(n--) { scanf("%d%d%d",&a,&b,&v); Map[a][b]=v; } memset(vis,0,sizeof(vis)); int J,l=1;//集合初始大小为1 d[0]=1;//需要寻找的集合,从1开始找 vis[1]=1;//1为遍历过的点 int sum=0; while(l<m)//当没有遍历所有点时,找点 { int minl=99999999; for(i=0; i<l; i++) { for(j=1; j<=m; j++) { if(!vis[j]&&Map[d[i]][j]&&Map[d[i]][j]<minl)//寻找集合中的点和未寻找的有连线就判断是否更小 { minl=Map[d[i]][j]; J=j; } } } if(minl==99999999) break; sum+=minl; vis[J]=1; d[l]=J,l++;//最小路径的尾结点设置为已经遍历的点,扩大点集合的规模。 } if(l==m) printf("%d\n",sum); else printf("?\n"); } return 0;}
1 0
- Hdu 1863 - 通畅工程
- HDU 1863 通畅工程
- HDU 1232 通畅工程
- Hdu 1233 - 还是通畅工程
- Hdu 1879 - 继续通畅工程
- HDU 1874 通畅工程续(Dijkstra)
- HDU 1875-通畅工程再续
- 通畅工程
- hdu 1874 通畅工程续(最短路模板)
- 并查集详解(HDU 1232通畅工程)
- [HDU](1233)还是通畅工程 ---最小生成树(图)
- hdoj 1232 通畅工程
- HDU_1232通畅工程
- HDN通畅工程
- HDU1232-通畅工程
- 通畅工程问题
- hdu1232通畅工程
- 还是通畅工程(HDU1233)
- HDU2087 找字符串 strstr 不错
- HDU2088 水题 竟然忘了初始化 一直wa
- 利用循环求出分数:2/1,3/2,5/3,8/5,13/8,21/13……前20项的和。
- HDU2089 sprintf strstr 的运用 打表
- code 2185 最长公共上升子序列 (dp)
- HDU 1863 通畅工程
- HDU2090 一道不提交不知道对错的题 水题
- 线性表01:顺序表 利用数组实现顺序表
- RANSAC算法
- OpenCV几种边缘检测的简例
- 算法总结(11)--伪递归,dfs,动态规划题,需要转换下思路
- HDU2091 打印 等腰空心字符串
- 一球从100米高空自由落下,每次落地后又反弹至原高度的一半,又落下,求它在第十次落地时,共经历多少米?第十次反弹多高?
- Linux的磁盘管理