题目链接: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. 如何在 iOS 8 中使用 Swift 实现本地通知(上)

    当你的应用在后台运行时,可以简单地使用本地通知把信息呈现给用户.它可以允许你显示 提醒.播放提示音和数字角标(badge).本地通知可以被以下的事件触发:计划好的时间点或者用户进入和离开某个地理区域. ...

  2. redhat的启动方式和执行次序

    rc.d的内容如下: init.d/ :各种服务器和程序的二进制文件存放目录. rcx.d/: 各个启动级别的执行程序连接目录.里头的东西都是指向init.d/的一些软连接.具体的后边叙述. 还有三个 ...

  3. cocos2d-x在android下的编译

    $(call import-add-path,E:/cocos2d-2.0-x-2.0.3) include $(BUILD_SHARED_LIBRARY) http://www.cnblogs.co ...

  4. git fetch和git pull之间的区别--转载

    原文地址:http://blog.csdn.net/a19881029/article/details/42245955 git fetch和git pull都可以用来更新本地库,它们之间有什么区别呢 ...

  5. [xUI] ligerUI开发框架简介和搭建

    ligerUI开发者:谢略,网名daomi API:         http://api.ligerui.com/ 演示地址:  http://demo.ligerui.com/ 源码下载:  ht ...

  6. 【¥200代金券、iPad等您来拿】 阿里云9大产品免费公测#10月9日-11月6日#

    #10.09-11.06#200元代金券.iPad大奖, 9大产品评测活动! 亲爱的阿里云小伙伴们: 云产品的多样性(更多的云产品)也是让用户深度使用云计算的关键.今年阿里云产品线越来越丰富,小云搜罗 ...

  7. 【Android Api 翻译4】android api 完整翻译之Contacts Provider (学习安卓必知的api,中英文对照)

    Contacts Provider 电话簿(注:联系人,联络人.通信录)提供者 ------------------------------- QUICKVIEW 快速概览 * Android's r ...

  8. Ios入门

    storyboard 文件的认识 用来描述软件界面 默认情况下程序启动就会加载Main.storyboard 加载storyboard时,会首先创建和显示箭头所指向的控制器界面 什么是UIscroll ...

  9. centos安装ruby on rails

      最近研究svn使用http协议,但网上大多都是apache整合svn,我不想使用apache+svn,google翻了很多页终于让我找到了,但要求先安装ruby on rails,所以就有了下面的 ...

  10. 关于如何用sql语句查询出连续的一串数字

    在数据库操作中,经常有一些这样的操作:插入诺干条测试数据.查询这个月的登录情况(没有登录的日期不能不存在,要显示数量为0),获取诺干条guid. 这些的基础都是怎么生成连续的一串数字  1 2  3  ...