题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874

/************************************************************************/
/*     hdu  畅通工程续dijkstra求起始点到目标点最短距离题目大意:求这些村子中从起始位置到目标点的最短距离解题思路:dijkstra算法,求图中两个点的最短距离,      dijkstra算法不同于prim算法,prim算法是求虽小生成树,      不断地把点最近的点加入到集合中;而dijkstra算法是求源点到目标点的最短距离。
*/
/************************************************************************/#include <stdio.h>
#include <string.h>
#include <algorithm>#define MAX 0xfffffff
const int N = 201;int dj[N],map[N][N],vis[N];
int n,m,x,y,len,i,j;void DJ(int start,int end)
{int min,k;int t = n;int cur = start;for(i=0;i<n;dj[i++]=MAX); dj[start] = 0;while(1){min = MAX;vis[cur] = 1;for(i = 0; i < n; i++){if(vis[i]==1)continue;if(dj[i] > map[i][cur] + dj[cur])//dj[i] = map[i][cur] + dj[cur];if(min>dj[i]){min = dj[i];k = i;}}cur = k;if(cur == end)break;if(min == MAX)break;}printf("%d\n",dj[end]<MAX?dj[end]:-1);
}int main()
{while(scanf("%d%d",&n,&m)!= EOF){memset(vis,0,sizeof(vis));for (i = 0; i < n; i++)for (j = 0; j < n; j++){map[i][j] = (i==j?0:MAX);}for (i = 1; i <= m; i++){scanf("%d%d%d",&x,&y,&len);map[x][y] = map[y][x] = (map[x][y]<len?map[x][y]:len);}scanf("%d%d",&x,&y);DJ(x,y);}return 0;
}

/************************************************************************/
/*     hdu  畅通工程续floyd 求起始点到目标点最短距离题目大意:求这些村子中从起始位置到目标点的最短距离解题思路:floyd 算法,求图中两个点的最短距离floyd算法就是在整个图中扫描,看点 i 到 j 的距离和(点 i 到点 k 的距离)+(点 k 到点 j 的距离)两者哪个较小,把小的存入map[i][j]中即可。
*/
/************************************************************************/#include <stdio.h>
#include <string.h>
#include <algorithm>#define MIN(a,b) a<b?a:b
#define MAX 0xfffffff
const int N = 201;int map[N][N];
int n,m,x,y,len,i,j;void floyd(int start,int end)
{int k;for (k = 0; k < n; k++){for (i = 0; i < n; i++)for (j = 0; j < n; j++)map[i][j] = MIN(map[i][j],map[i][k]+map[k][j]);}printf("%d\n",map[start][end]<MAX?map[start][end]:-1);
}int main()
{while(scanf("%d%d",&n,&m)!= EOF){for (i = 0; i < n; i++)for (j = 0; j < n; j++){map[i][j] = (i==j?0:MAX);}for (i = 1; i <= m; i++){scanf("%d%d%d",&x,&y,&len);map[x][y] = map[y][x] = (map[x][y]<len?map[x][y]:len);}scanf("%d%d",&x,&y);floyd(x,y);}return 0;
}

hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)相关推荐

  1. hdu 1874 畅通工程续(模板题 spfa floyd)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 spfa 模板 1 #include<iostream> 2 #include<s ...

  2. 杭电 hdu 1874 畅通工程续

    第二次 /* THE PROGRAM IS MADE BY PYY */ /*------------------------------------------------------------- ...

  3. HDU 1874 畅通工程续 (Dijkstra , Floyd , SPFA, Bellman_Ford 四种算法)

    畅通工程续 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 Problem Description 某省自从实行了很多年的畅通工程计划后,终于修 ...

  4. HDOJ 1874 HDU 1874 畅通工程续 ACM 1874 IN HDU

    MiYu原创, 转帖请注明 : 转载自 ______________白白の屋 题目地址:          http://acm.hdu.edu.cn/showproblem.php?pid=1874 ...

  5. HDU 1874 畅通工程续

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  6. HDU 1874 畅通工程续 Floyd

    畅通工程续 http://acm.hdu.edu.cn/showproblem.php?pid=1874 Time Limit: 3000/1000 MS (Java/Others) Memory L ...

  7. HDU 1874 畅通工程续 2008浙大研究生复试热身赛(2)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submiss ...

  8. HDU 1874 畅通工程续 最短路

    畅通工程续 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Description 某 ...

  9. hdu 1874畅通工程续(基础Floyd)

    畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

最新文章

  1. 【Java学习笔记之十】Java中循环语句foreach使用总结及foreach写法失效的问题
  2. 自律到极致-人生才精致:第10期
  3. spark应用程序_Sparklens:Spark应用程序优化工具
  4. 【转】WebServices:WSDL的结构分析
  5. 入门 | 一文看懂卷积神经网络
  6. 命令02-pandas命令
  7. Linux下openSSL安装并颁发证书
  8. Kinect 开发 —— 面部追踪
  9. 新疆计算机在线准考证打印,新疆2019年计算机准考证打印时间
  10. 计算机硬件及组成原理pdf百度云,计算机组成原理整理版本.pdf
  11. smarty 模板php,php的smarty模板发动机
  12. 绘制自己的人际关系图_错综复杂的人际关系,一张图谱一目了然
  13. 【哲理】你的上限是什么?如何打破上限?-莫安迪
  14. arcgis怎么压缩tif文件_使用gdal压缩tif文件
  15. 每个人小时候都有一个小小的梦
  16. C语言五子棋评分函数,五子棋评分表算法
  17. 手机被偷后,让小偷欲哭无泪的高招
  18. 未来科技业界的10大风口
  19. goland使用fabric-go-sdk连接虚拟机fabric网络(保姆级教学)
  20. MATLAB调用USB摄像头的过程记录

热门文章

  1. Angular JS 增删改查(弹框修改)
  2. python numpy库安装winerror5_求问安装numpy+mkl报错FileNotFoundError: [Errno 2] No such fi
  3. python 传参数 传引用_Python 函数参数 传引用还是传值
  4. knn的python代码_详细的的KNN代码——python实现
  5. web前端能拿多少钱?非科班的能转到web前端吗?
  6. 如何创建一个Mybatis程序,实现对数据库的简单查询?
  7. java web程序设计教程范立锋 最后的图书馆理系统_JavaWeb程序设计 习题参考答案(第7章)...
  8. 中专计算机应用完整教学计划,中职生教学计划
  9. php mysql 排序规则_使用PHP的MySQL最好的排序规则是什么?
  10. mysql where非常规用法_MySQL where 条件的这个坑你碰到过没