题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544

题目分析:比较简单的最短路算法应用。题目告知起点与终点的位置,以及各路口之间路径到达所需的时间,要求输出起点到终点的最短时间。

/*
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 35043 Accepted Submission(s): 15173 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 Source
UESTC 6th Programming Contest Online
*/
//单源最短路 Dijkstra
#include <cstdio>
#include <cstring>
#define INF 0xfffff
const int maxn = + ;
int w[maxn][maxn], n, m, d[maxn], v[maxn];
void init()
{
memset(v, , sizeof(v));
for(int i = ; i <= n; i++) d[i] = (i == ? : INF);
for(int i = ; i <= n; i++)
for(int j = ; j <= n; j++)
w[i][j] = INF;
} int Min(int a, int b)
{
return a > b ? b : a;
} void dijkstra()
{
for(int i = ; i < n; i++){
int x, l = INF;
for(int y = ; y <= n; y++) if(!v[y] && d[y] <= l) l = d[x = y];
v[x] = ;
for(int y = ; y <= n; y++) d[y] = Min(d[y], d[x] + w[x][y]);
}
} int main()
{
int a, b, c;
while(~scanf("%d%d", &n, &m)){
if(n == && m == ) break;
init();
for(int i = ; i < m; i++){
scanf("%d%d%d", &a, &b, &c);
w[a][b] = w[b][a] = c;
}
dijkstra();
printf("%d\n", d[n]);
}
return ;
}

hdu 2544 最短路 Dijkstra的更多相关文章

  1. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  2. HDOJ/HDU 2544 最短路---dijkstra算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 这题的思路可以见这里(同一类型):http://blog.csdn.net/xiaozhuaix ...

  3. HDU 2544最短路dijkstra模板题

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

  4. HDU 2544 最短路(dijkstra+邻接矩阵)

    ( ̄▽ ̄)" #include<iostream> #include<cstdio> using namespace std; const int INF=10e7; ...

  5. HDU - 2544最短路 (dijkstra算法)

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

  6. UESTC 30 &&HDU 2544最短路【Floyd求解裸题】

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

  7. HUD.2544 最短路 (Dijkstra)

    HUD.2544 最短路 (Dijkstra) 题意分析 1表示起点,n表示起点(或者颠倒过来也可以) 建立无向图 从n或者1跑dij即可. 代码总览 #include <bits/stdc++ ...

  8. (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。

    floyd解法 今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂. 模版题,纯练打字... HDU 1874: #include <cstdio> #define MAXN ...

  9. hdu 2544 最短路

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...

随机推荐

  1. PHP 自动生成导航网址的最佳方法 v20130826

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法. 最终积累了这种最写法,算是最好的吧.附上截图和代码如下(PHP+HTML) <?php $linkArr = array( 'ind ...

  2. 0c-40-ARC下多对象内存管理

    1个人拥有1条狗. 问题1:人拥有狗作为成员变量,此时使用weak,释放过程是什么样? Person *p = [Person new]; Dog *d = [Dog new]; //设置人拥有dog ...

  3. javascript 变量解析

    1.JavaScript中,你可以在函数的任何位置声明多个var语句,并且它们就好像是在函数顶部声明一样发挥作用,这种行为称为 hoisting(悬置/置顶解析/预解析).当你使用了一个变量,然后不久 ...

  4. [转]Oracle快速入门

    原文出处:http://blog.csdn.net/yueguanghaidao/article/details/7019377 select * from scott.salgrade; /*解锁s ...

  5. 一款基于jquery的下拉点击改变背景图片

    今天给大家介绍一款基于jquery的下拉点击改变背景图片.单击右上角的图片,下拉显示可选择的背景图片,单击图片变为背景图.效果图下: 在线预览   源码下载 实现的代码. html代码: <a ...

  6. linux文件操作命令--转

    引用地址:http://bbsunchen.iteye.com/blog/1010993 想自己一开始处理文件的时候,看文件有多少行,都要写个perl脚本,好不麻烦啊...以此文纪念自己傻逼的科研生活 ...

  7. 使用autolayout的NSLayoutConstraint类中的constraintWithItem 、constraintsWithVisualFormat这两个类方法来创建视图并可以实现自动布局

    #import "ViewController.h" @interface ViewController () @end @implementation ViewControlle ...

  8. 在MVC中要实现Ajax

    在MVC中要实现Ajax有很多的方式,有微软自己的MicrosoftAjax,也可以用JQuery的AJax来实现,如果对其他的JavaScript框架熟悉,还可以采用其他的实现方案,比如说Proto ...

  9. nodejs的mysql模块学习(五)数据库连接配置之SSL

    SSL选项 在SSL连接选项中需要一个字符串 或者对象 当是字符串的时候 将使用预定义的SSL配置文件 "Amazon RDS" 只有这一个预定义配置文件 用来连接到亚马逊RDS服 ...

  10. Android 拍照 代码实例

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 这是我做的一个简单的利用Android手机的摄像头进行拍照的实例. 在这里我实现了基本的拍照.照片的存储 ...