解题报告:

这题就是求两个单源点之间的最小距离,属于最短路问题,由于数据量很小,只有100,所以这题可以用弗洛伊德也可以用迪杰斯特拉,都可以过,但是用迪杰斯特拉会快一点,但用弗洛伊德的代码会稍短一点,纯属裸的算法题,这里给出两种算法的代码:

弗洛伊德算法:

 #include<cstdio>
#include<cstring>
#include<iostream>
const int MAX = 0xfffff;
int map[][];
int main() {
int N,M,x,y,z;
while(scanf("%d%d",&N,&M)&&(N||M)) {
for(int i = ;i<=N;++i)
for(int j = ;j<=N;++j)
map[i][j] = (i==j? :MAX);
for(int i = ;i<=M;++i) {
scanf("%d%d%d",&x,&y,&z);
map[x][y] = map[y][x] = z;
}
for(int i = ;i<=N;++i)
for(int j = ;j<=N;++j)
for(int k = ;k<=N;++k)
map[j][k] = std::min(map[j][k],map[j][i]+map[i][k]);
printf("%d\n",map[][N]);
}
return ;
}

迪杰斯特拉:

 #include<cstdio>
#include<iostream>
#include<cstring>
const int MAX = 0xffff;
int map[][],T[],visit[];
int main() {
int N,M,x,y,z;
while(scanf("%d%d",&N,&M)&&(N||M)) {
for(int i = ;i<=N;++i) {
T[i] = MAX;
for(int j = ;j<=N;++j)
map[i][j] = MAX;
}
for(int i = ;i<=M;++i) {
scanf("%d%d%d",&x,&y,&z);
map[x][y] = map[y][x] = z;
}
memset(visit,,sizeof(visit));
T[] = ;
int s = ;
while() {
if(s==N)
break;
for(int i = ;i<=N;++i)
T[i] = std::min(T[i],T[s]+map[s][i]);
visit[s] = ;
int Min = MAX;
for(int i = ;i<=N;++i)
if(!visit[i]&&(T[i]<Min)) {
s = i;
Min = T[i];
}
}
printf("%d\n",T[N]);
}
return ;
}

HDU 2544 最短路 最短路问题的更多相关文章

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

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

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

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

  3. hdu 2544 单源最短路问题 dijkstra+堆优化模板

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

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

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

  5. hdu 2544 最短路

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

  6. HDU 2544最短路 (迪杰斯特拉算法)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others)    Me ...

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

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

  8. hdu 2544 最短路 Dijkstra

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...

  9. HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】

    最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...

随机推荐

  1. 二叉树 c++

    树 非空树 有一个(root)根节点r 其余节点可分为m个互不相交的有限集(子树)T1....Tm 具有n个节点的树,具有(n-1)条连接(指针域),需要构成结构体,尽可能减少空间域的浪费,使用儿子兄 ...

  2. fabric-sdk-container v1.0-beta 新增支持多服务节点

    HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...

  3. Spring学习总结之高级装配

    1.  profile profile可以决定bean在什么环境下才被装配(开发环境.测试环境.线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2 ...

  4. js生成uuid代码

    function uuid() { var s = []; var hexDigits = "0123456789abcdef"; for (var i = 0; i < 3 ...

  5. Cooperate with Myself

    (一) 第一周的第一批作业们.  且不说一周之内要看完我们的300多页的教材,也不说需要在维基的大批量的文献中海底捞针,单是这个四则运算的生成程序就让我从假期的迷糊状态中幡然觉悟了:哦!惊险刺激的新的 ...

  6. React组件继承的由来

    没有显式继承的时候我们这么写: import * as React from "react"; export interface HelloProps { compiler: st ...

  7. Alpha冲刺——day9

    Alpha冲刺--day9 作业链接 Alpha冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602634 ...

  8. delphi checklistbox用法

    在Delphi中checklistbox中高亮选中(不论是否Checked)能够进行操作么?删除,上下移动等等 删除:CheckListBox.DeleteSelected; 上下移: CheckLi ...

  9. LOG4J 的配置

    公司启动全国支票影像系统,有这样一个功能是和消息中间件打交道,需要记录每一个报文出错情况,因为方便后期开发人员的调试,我选用了log4j作为日志记录,好了废话不多说了! 第一步:首先建立一个WEB工程 ...

  10. 解决 Previous operation has not finihsed; run ‘cleanup’ if it was interrupted Please execute the ‘Cleanup’ command

    更新时遇到这个问题,解决方法如下: 把根目录下的.svn目录删除掉,再checkout,然后就会出现下面的加version的action.   疯吻IT