最短路(Dijkstra算法模板题)

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 96778    Accepted Submission(s): 41849
借鉴链接:https://blog.csdn.net/UncleJokerly/article/details/79703622

Problem Description
在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

 
Input
输入包括多组数据。每组数据第一行是两个整数N、M(N<=100,M<=10000),N表示成都的大街上有几个路口,标号为1的路口是商店所在地,标号为N的路口是赛场所在地,M则表示在成都有几条路。N=M=0表示输入结束。接下来M行,每行包括3个整数A,B,C(1<=A,B<=N,1<=C<=1000),表示在路口A与路口B之间有一条路,我们的工作人员需要C分钟的时间走过这条路。
输入保证至少存在1条商店到赛场的路线。
 
Output
对于每组输入,输出一行,表示工作人员从商店走到赛场的最短时间
 
Sample Input
2 1
1 2 3
3 3
1 2 5
2 3 5
3 1 2
0 0
 
Sample Output
3
2
 
C++算法
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int INF = 0x3f3f3f3f;
const int maxn = + ;
int mp[maxn][maxn],dis[maxn],book[maxn],node,edge;
void dijkstra(){
for(int i = ; i <= node; i++)
dis[i] = mp[][i];
for(int i = ; i <= node - ; i++){
int minn = INF,u;
for(int j = ; j <= node; j++){
if(book[j] == && dis[j] < minn){
minn = dis[j];
u = j;
}
}
book[u] = ;
for(int j = ; j <= node; j++){
if(book[j] == && dis[u] + mp[u][j] < dis[j]){
dis[j] = dis[u] + mp[u][j];
}
}
}
printf("%d\n",dis[node]);
}
int main(){
while(~scanf("%d%d",&node,&edge) && node && edge){
for(int i = ; i <= node; i++){
for(int j = ; j <= node; j++){
if(i==j)
mp[i][j] = ;
else
mp[i][j] = INF;
}
}
int m,n,t;
for(int i = ; i <= edge; i++){
scanf("%d%d%d",&m,&n,&t);
if(t < mp[m][n])
mp[m][n] = mp[n][m] = t;
}
dijkstra();
}
return ;
}

最新文章

  1. Keepalived双机热备
  2. [c#]一个窗体调用另一个窗体的事件
  3. UI1_Calayer
  4. case,cast
  5. HW5.5
  6. (转)搜索Maven仓库 获取 groupid artifactId
  7. 常见HTTP状态码的含义
  8. openstack私有云布署实践【1 网络拓扑说明】
  9. MySQL 笔记整理(13) --为什么数据表删掉一半,表文件大小不变?
  10. LEB128相关知识
  11. EF6学习笔记(六续) 复杂数据模型建表测试
  12. Spring 注解详细分析解释有实例
  13. linux服务器进程信息查看命令
  14. Oracle 增加、修改、删除字段
  15. 在postgresqlz中查看与删除索引
  16. IO流作业
  17. sass:常用备忘
  18. 内核参数SEMMSL SEMMNS SEMOPM SEMMNI参数的设置
  19. k8s集群搭建指南
  20. CDN高级技术专家周哲:深度剖析短视频分发过程中的用户体验优化技术点

热门文章

  1. 转 Pycharm及python安装详细教程
  2. python 基础篇
  3. Nginx 优先选择连接最少的上游服务器
  4. 洛谷P3183食物链题解
  5. 【XSY2519】神经元 prufer序列 DP
  6. MT【292】任意存在求最值
  7. 正睿 2019 省选附加赛 Day10
  8. 从App业务逻辑中提炼API接口
  9. 【BZOJ5470】[FJOI2018]所罗门王的宝藏()
  10. 【BZOJ5294】[BJOI2018]二进制(线段树)