单源最短路径 迪杰斯特拉算法
1.初始化地图,map[i][j]记录城镇 i,j之间最短的道路长度,
若无道路连通 ,则为极大值
2.从起始城镇开始,用广度优先搜索思想,嵌入松弛处理算法,
用dis[i]记录起始城镇到城镇 i 的最短路径长度;

3.答案位于dis[t],即终点t城镇到起始城镇的最小距离

#include<stdio.h>
#include<queue>
#define inf 10000000
using namespace std;
int main(){int n,m;int map[200][200];//map[i][j]记录城镇 i 到 j 间最短连通道路长度int s,t;//记录起始村庄和终点村庄的编号int dis[200];//记录 i 号村庄到起始村庄的最短路径长度int x,y,d;int i,j;while(scanf("%d%d",&n,&m)!=EOF){for(i=0;i<n;i++)for(j=0;j<n;j++)map[i][j]=inf;//所有路径初始化为最大值while(m--){scanf("%d%d%d",&x,&y,&d);if(map[x][y]>d)map[x][y]=d,map[y][x]=d;} scanf("%d%d",&s,&t);queue<int> q;q.push(s);//起点入队for(i=0;i<n;i++) dis[i]=inf;//所有城镇到起始位置的距离初始化为最大值dis[s]=0;//起始城镇到其自身的距离为0//所有与起始城镇连接都遍历完了,结束遍历 while(!q.empty()) {x=q.front();q.pop();for(i=0;i<n;i++){if(map[x][i]!=inf){//从城镇 x 到城镇 i 的路径(到起始城镇)较短 if(dis[i]>dis[x]+map[x][i]){dis[i]=dis[x]+map[x][i];//跟新 i 城镇到起始城镇的最短距离q.push(i); }}} }if(dis[t]==inf)printf("-1\n");elseprintf("%d\n",dis[t]);} return 0;
} 

hdu 1874 Dijkstra算法模板相关推荐

  1. HDU 1874 SPFA算法Dijkstra算法

    SPFA 快速最短路算法 队列优化 #include<bits/stdc++.h> using namespace std; const int maxn=205; vector<p ...

  2. Dijkstra算法模板

    Dijkstra求最短路径模板: ①边求最短路径边求解答案 const int maxn=500; const int INF=100000000; int G[maxn][maxn]; int d[ ...

  3. 单源最短路 dijkstra算法模板

    链接: 模板题 不能处理带负边权的情况 /* 邻接矩阵存图 1.从源点开始每次选取一个离点集距离最近的点t 添加到集合中 2.利用t点对集合中的点进行松弛操作,进行更新 时间复杂度o(n²) */ # ...

  4. HDU2066:一个人的旅行(Dijkstra算法模板+多源多目的最短时间问题)

    Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,0),很多事,还能丰富自己的阅历,还可以 ...

  5. 牛客网 短最优升级路径 【Dijkstra算法】+【路径记录】

    链接:https://www.nowcoder.com/questionTerminal/a7052c5bd8634edb9ccee711a5c1ea54 来源:牛客网 短最优升级路径 题目描述:游戏 ...

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

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

  7. hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)

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

  8. 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)

    dijkstra(狄克斯特拉)知识点 1.可以用于解决最短路问题 2.dijkstra算法在数据量比较小的情况下可以直接开邻接矩阵. 3.不能处理含有负权环的图 对dijkstra算法的理解 dijk ...

  9. hdu 2255 奔小康赚大钱--KM算法模板

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2255 题意:有N个人跟N个房子,每个人跟房子都有一定的距离,现在要让这N个人全部回到N个房子里面去,要 ...

最新文章

  1. 移动端布局规范-固定页头页尾-中间随高度滑动
  2. UVA10534-----Wavio Sequence-----动态规划之LIS
  3. oracle缺少key xe.reg,【Oracle XE系列之一】Windows 7 64位安裝Oracle XE(32位)數據庫(REG_XE報錯、字符集、修改8080端口等)...
  4. (Spring)使用注解开发
  5. 网易云携手美云智数掀起企业移动信息化发展新浪潮
  6. Python3字符串填充和对齐代码示例
  7. 07.配置日志的存储路径、设置日志的格式
  8. dede去除powered by dedecms
  9. php mql web开发,自己动手开发多线程异步 MQL5 WebRequest
  10. 最好的6个Go语言Web框架
  11. JavaScript——监听事件:点击鼠标,视频静音(原神官网)
  12. 桥接模式和NAT模式的区别
  13. pdf所有者和计算机怎么删除,如何修改PDF文件以及如何删除一页
  14. Nova 实现的 Fit Instance NUMA to Host NUMA 算法
  15. JS框架_(JQuery.js)夜晚天空满天星星闪烁动画
  16. NodeJS实现HTTP/HTTPS代理 - 刘春龙的博客
  17. 学妹知道了这 19 条建议后,大学生活过得有滋有味
  18. 组件分享之后端组件——基于Golang语言的游戏服务器框架leaf
  19. 九龙证券|近200家机构组团调研,这些机构密集调研股稳增长低估值
  20. OB2263MP小知识

热门文章

  1. 结对-结对编项目贪吃蛇-设计文档
  2. Universal-Image-Loader(UIL)图片载入框架使用简介
  3. Stereo matching code
  4. 一个很SB的方法,来开始调一个刚启动就SB的程序
  5. Java 进程占用 VIRT 虚拟内存超高的问题研究
  6. 用C#制作PDF文件全攻略(转)
  7. DHH观点:为什么我偏爱Ruby?
  8. linux多进程编程计算圆周率,中值积分定理计算PI值的多线程实现
  9. c语言面试题大汇总之华为面试题,计算机c语言面试题大汇总之华为面试题6.doc...
  10. oracle xmltype使用,oracle的xmltype基本使用有哪些呢?