F - 最短路 HDU - 2544(最短路的模板)
- 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
自己写了dj还有flod 可是比赛的啥都没有过,有一点小难受还有一点反感自己不知道是不是应该继续动摇了好多
dj是因为 inf弄小了
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define inf 0x3f3f3f3f
using namespace std;
int road[105][105];
int dp[105];
int book[105];
int main()
{int n,m;while(scanf("%d%d",&n,&m)!=EOF){if(n==0&&m==0)break;int a,b,c;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)if(i==j)road[i][j]=0;else road[i][j]=inf;memset(dp,0,sizeof(dp));memset(book,0,sizeof(book));for(int i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);if(c<road[a][b]){road[a][b]=c;road[b][a]=c; }}//ÊäÈëÍê³Éfor(int i=1;i<=n;i++)dp[i]=road[1][i];int u;for(int i=1;i<=n;i++){int min=inf;for(int j=1;j<=n;j++){if(dp[j]<min&&book[j]==0){min=dp[j];u=j;}}book[u]=1;for(int j=1;j<=n;j++){if((dp[u]+road[u][j])<dp[j])dp[j]=dp[u]+road[u][j];}}printf("%d\n",dp[n]);}return 0;
}
还有一个flod 这个忘记是双向的了
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define inf 0x3f3f3f3f
using namespace std;
int road[105][105];
int main()
{int n,m;while(scanf("%d%d",&n,&m)!=EOF){if(n==0&&m==0)break;int a,b,c;for(int i=1;i<=n;i++)for(int j=1;j<=n;j++){if(i==j)road[i][j]=0;else road[i][j]=inf;}for(int i=1;i<=m;i++){scanf("%d%d%d",&a,&b,&c);if(c<road[a][b]){road[a][b]=c;road[b][a]=c; }}for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)for(int k=1;k<=n;k++){if(road[i][j]+road[j][k]<road[i][k]){road[i][k]=road[i][j]+road[j][k];road[k][i]=road[i][j]+road[j][k];}}printf("%d\n",road[1][n]);}return 0;
}
F - 最短路 HDU - 2544(最短路的模板)相关推荐
- hdu 2544 最短路 (dijkstra)
http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...
- HDU 2544 最短路(各种最短路算法的实现)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目: Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂 ...
- hdu 2544最短路(Dijkstra)
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/O ...
- hdu 2544最短路 Floyd算法
最短路 Time Limit : 5000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Problem Descrip ...
- hdu 2544 最短路 Dijkstra算法
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Desc ...
- HDU 2544最短路dijkstra模板题
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- hdu 2544 最短路
Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要 ...
- 最短路 HDU - 2544
在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助 ...
- HDU 2544 最短路 最短路入门
点击打开链接 最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 最短路 HDU - 2544 (最短路)
在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助 ...
最新文章
- 设计模式之反射与配置文件
- python 基础教程:字符串内建函数之大小写的区别
- Silverlight实用窍门系列:40.Silverlight中捕捉视频,截图保存到本地【附带实例源码】...
- dell服务器sd卡装系统,DELL服务器通过sd卡安装系统(iDRACUsevFlash).doc
- 《Nginx文件类型错误解析漏洞--攻击演练》 (转)
- NPAPI和PPAPI开发
- android 配置java_home_android – React Native:未设置JAVA_HOME,并且在PATH中找不到“java”命令...
- Power Strings
- rz/sz:工作原理
- 第13章 祖玛(《C和C++游戏趣味编程》配套教学视频)
- 啦啦外卖UNIAPP(4.0)源码商家+骑手
- ncm转换mp3文件时遇到问题:未找到文件
- 数据分析师还是算法工程师|用数据多角度解读如何选择
- Python操作MyS	QL
- 北京科技大学计算机导师怎么样,【计算机考研导师】北京科技大学计算机科学与技术系硕士生导师王卫苹...
- 2021华为杯D题详细讲解:抗乳腺癌候选药物的优化建模
- 《笨办法学python3》再笨的人都能学会python,附PDF,拿走不谢
- C++ 栈的括号匹配
- Java从业者职业生涯必备书籍200+
- 项目总结与复盘的12条“秘诀”!看完还怕做不好项目管理?