点击打开链接

最短路

Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 18912    Accepted Submission(s): 8062

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
Recommend
lcy
图论第一题。

纯正的Floyd算法代码。

#include<stdio.h>
int map[105][105];
int main()
{int n,m,i,j,k,a,b,c;while(scanf("%d%d",&n,&m),n|m){for(i=1;i<=n;i++)for(j=1;j<=n;j++)map[i][j]=10000000;for(i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);if(map[a][b]>c){map[a][b]=map[b][a]=c;}}for(k=1;k<=n;k++)for(i=1;i<=n;i++)for(j=1;j<=n;j++){if(map[i][k]+map[k][j]<map[i][j])map[i][j]=map[i][k]+map[k][j];}printf("%d\n",map[1][n]);}return 0;
}

Dijkstra算法.

#include<iostream>
#include<stdio.h>
#include<iomanip>
using namespace std;
#define N 10000
#define MAX 100000099
int a[N][N];
int dist[N];
void input (int n,int m)
{int p,q,len,i,j;for( i=1; i<=n; i++){for(j=1; j<=n; j++)a[i][j]=MAX;dist[i]=MAX;}for(i=0; i<m; i++){cin>>p>>q>>len;if(len<a[p][q]){a[p][q]=len;a[q][p]=len;}}
}
void dijkstra(int n)
{int s[N],newdist;for(int i=1; i<=n; i++){dist[i]=a[1][i];s[i]=0;}dist[1]=0;s[1]=1;for(int i=2; i<=n; i++){int j,tem=MAX;int u=1;for(j=2; j<=n; j++)if(!s[j]&&dist[j]<tem){u=j;tem=dist[j];}s[u]=1;for(j=2; j<=n; j++){if(!s[j]&&a[u][j]<MAX){newdist=dist[u]+a[u][j];if(newdist<dist[j])dist[j]=newdist;}}}
}
int main()
{int n,m;while(scanf("%d%d",&n,&m),m||n){input(n,m);dijkstra(n);cout<<dist[n]<<endl;}return 0;
}

HDU 2544 最短路 最短路入门相关推荐

  1. 图论:SPFA 算法详解( 算法竞赛入门到进阶) HDU 2544 链式前向星 【提供ACM模板+图解,不会都难!】

    文章目录 SPFA简介 链式前向星介绍 SPFA算法思路详细 模板-链式前向星 参考书籍:算法竞赛入门到进阶 罗勇军 SPFA简介 用队列处理Bellman-Ford算法可以很好地优化,这种方法叫做S ...

  2. 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)

    dijkstra(狄克斯特拉)知识点 1.可以用于解决最短路问题 2.dijkstra算法在数据量比较小的情况下可以直接开邻接矩阵. 3.不能处理含有负权环的图 对dijkstra算法的理解 dijk ...

  3. HDU 1248 寒冰王座(全然背包:入门题)

    HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...

  4. 最短路——最短路计数(spfa)

    题目链接 最短路--最短路计数(spfa) 题目描述 给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1-N.问从顶点 1 开始,到其他每个点的最短路有几条. 输入格式 第一行包含 2 个正整 ...

  5. 最短路——最短路(spfa)

    题目链接 最短路--最短路(spfa) 题目描述 简单暴力的题目要求: 给定一个有n个顶点(从1到n编号),m条边的有向图(其中某些边权可能为负,但保证没有负环).请你计算从1号点到其他点的最短路. ...

  6. HDU 2544 最短路(最短路入门)

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

  7. hdu 2544 最短路 (dijkstra)

    http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...

  8. HDU 2544 最短路(各种最短路算法的实现)

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

  9. 最短路 HDU - 2544

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

最新文章

  1. 只需2.5W功耗,就能达到5TOPS算力!地平线新一代AIoT芯片「旭日3」发布
  2. RocketMQ主机磁盘空间有限,如何无限期延长消息存储?
  3. 一个手机号码剔重的问题
  4. ceo for one month final around
  5. Docker安装Python3.5
  6. 29 FI配置-财务会计-外币评估-分配到评估范围和会计核算原则
  7. java调用word2vec模型_word2vec使用過程(Java版)
  8. ldflags android,Android 开发手记一 NDK编程实例
  9. 递归法全排列java_实验一 分治与递归—全排列 java算法
  10. 算法竞赛入门经典(第二版)习题解答——第一章
  11. 一个案例入门tableau——NBA球队数据可视化实战解析
  12. wifi连接一段时间才能上网_家里的WiFi老是突然断网,WiFi还是连着的,但是关WiFi又连不上去,必须重启路由器才能上网...
  13. 超声波清洗机 - 拆机与逆向工程
  14. JVM垃圾回收——G1垃圾收集器
  15. python爬楼梯问题_用Python解决经典的爬楼梯问题
  16. 35家网络广告代理公司调查及服务水平排行榜
  17. RabbitMQ 安装与web后台管理界面开启
  18. 常见的云服务器运营商及相关的优惠活动
  19. 浏览器提示ssl证书过期怎么办
  20. 隐匿的风暴,Saas海啸正瞄准企业IT业务

热门文章

  1. jsTree插件简介(一)
  2. haster、setattr、getattr的区别
  3. vscode 下载 安装
  4. SwfObjects在页面中嵌入flash(SWF)
  5. 音乐推荐与Audioscrobbler数据集
  6. QT教程,QT从入门到实战教程完整版
  7. Python的namedtuple使用详解
  8. Linux 查看tomcat占用的端口号
  9. Game Maker:一款教学工具造就了一批独立开发者
  10. 原厂技术支持FLD5302和FLD5303升压充电芯片