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

直接就是一个Dijkstra的裸模板而已

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
const int inf = 1<<30;
int n,m;
int map[105][105];
int vis[105],cast[105];
void Dijkstra(int s,int e)
{
int i,j,min,pos;
memset(vis,0,sizeof(vis));
cast[s] = 0;
vis[s] = 1;
for(i = 0; i<n; i++)
cast[i] = map[s][i];
for(i = 1; i<n; i++)
{
min = inf;
for(j = 0; j<n; j++)
{
if(cast[j]<min && !vis[j])
{
pos = j;
min = cast[j];
}
}
vis[pos] = 1;
for(j = 0; j<n; j++)
{
if(cast[pos]+map[pos][j]<cast[j] && !vis[j])
cast[j] = cast[pos]+map[pos][j];
}
}
}
int main()
{
int i,j,x,y,z,start,end;
while(~scanf("%d%d",&n,&m),n+m)
{
for(i = 0; i<105; i++)
{
for(j = 0; j<105; j++)
map[i][j] = inf;
map[i][i] = 0;
}
while(m--)
{
scanf("%d%d%d",&x,&y,&z);
x--;
y--;
if(z<map[x][y])
map[x][y] = map[y][x] = z;
}
start = 0;
end = n-1;
Dijkstra(start,end);
printf("%d\n",cast[end]==inf?-1:cast[end]);
}
return 0;
}

HDU2544:最短路(Dijkstra)相关推荐

  1. HDU2544 最短路【Dijkstra算法】

    最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. 图论-最短路Dijkstra算法详解超详 有图解

    整体来看dij就是从起点开始扩散致整个图的过程,为什么说他稳定呢,是因为他每次迭代,都能得到至少一个结点的最短路.(不像SPFA,玄学复杂度) 但是他的缺点就是不能处理带负权值的边,和代码量稍稍复杂. ...

  3. 单源最短路 Dijkstra算法 和 SPFA算法

    单源最短路 •从一个点出发,到达其他顶点的最短路径的长度. •基本操作:松弛 •d[u]+map[u, v]< d[v]这样的边(u,v)称为紧的(tense),可以对它进行松弛(relax): ...

  4. 最短路 dijkstra模板

    最短路 dijkstra模板 #pragma warning(disable:4996) #include<iostream> #include<string> #includ ...

  5. HDOJ 2112 HDU Today (最短路 Dijkstra SPFA)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. Til the Cows Come Home(最短路-Dijkstra)

    Til the Cows Come Home(最短路-Dijkstra) judge:https://vjudge.net/contest/297882#problem/A Time limit:10 ...

  7. HDU2544 最短路(模版题dijkstra/floyd/spfa)

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

  8. HDU2544最短路---(Dijkstra)

    Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  9. hdu2544 最短路-邻接表+优先队列实现dijkstra

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

  10. Codeforces.1051F.The Shortest Statement(最短路Dijkstra)

    题目链接 先随便建一棵树. 如果两个点(u,v)不经过非树边,它们的dis可以直接算. 如果两个点经过非树边呢?即它们一定要经过该边的两个端点,可以直接用这两个点到 u,v 的最短路更新答案. 所以枚 ...

最新文章

  1. python调整数组顺序使奇数位于偶数前面
  2. Docker框架的使用系列教程(二)
  3. Java中加减乘除怎样写代码,【求助】怎样实现加减乘除 代码如下
  4. 【HDOJ】1597 find the nth digit
  5. 《Two Dozen Short Lessons in Haskell》(二十)分数
  6. 怎么判断冠词用a还是an_【语法微课堂】英语冠词的用法,学会这4点,轻松玩转a、an、the...
  7. CentOS 7操作系统之Docker安装
  8. Zabbix探索:无法获取Windows主机CPU利用率、负载等问题处理
  9. IOS推送消息怎么实现icon图标的数字累加
  10. Linux中关机与重启命令
  11. Evince 3.7.5 发布,多格式文档浏览器
  12. 2018ICPC焦作D(几何)---Keiichi Tsuchiya the Drift King
  13. 小米盒子升级android tv后不能安装第三方软件下载,小米电视,小米盒子无法安装第三方应用,怎么办?...
  14. centos8解压war包
  15. 1u服务器电源制作,1U服务器电源也可以做机箱电源
  16. 标准化作业流程有哪些内容?如何确保标准化作业流程有效执行?
  17. RabbitMQ 归纳总结
  18. php的ct表现,巨大垂体腺瘤(Pituitary adenoma)CT病例图片影像诊断分析
  19. 小程序获取上一个页面或者某个页面内的值
  20. 【吴刚】电商活动站设计初级入门标准视频教程-吴刚-专题视频课程

热门文章

  1. 如何更换tomcat版本
  2. Halcon标定系列(3):我个人总结的“眼在手外“和“眼在手上”的心得笔记
  3. 搜索引擎算法之同义词、近义词、上位词挖掘
  4. python酷q机器人_酷Q机器人实时热点Python源码
  5. 编译原理第三版 作业一
  6. php刷屏代码,PHP防止刷屏
  7. Tomcat的下载与安装
  8. Java进行音视频转码
  9. php 正态分布数据描述,啥?你的数据不呈正态分布,文章发不了:stata一键搞定...
  10. CorelDRAW2021版本下载 百度网盘