HDU 2544 最短路 最短路问题
解题报告:
这题就是求两个单源点之间的最小距离,属于最短路问题,由于数据量很小,只有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 最短路 最短路问题的更多相关文章
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 2544 单源最短路问题 dijkstra+堆优化模板
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU - 2544最短路 (dijkstra算法)
HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...
- hdu 2544 最短路
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shi ...
- HDU 2544最短路 (迪杰斯特拉算法)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=2544 最短路 Time Limit: 5000/1000 MS (Java/Others) Me ...
- (重刷)HDU 1874 畅通工程续 + HDU 2544 最短路 最短路水题,dijkstra解法。
floyd解法 今天初看dijkstra,先拿这两题练手,其他变形题还是不是很懂. 模版题,纯练打字... HDU 1874: #include <cstdio> #define MAXN ...
- hdu 2544 最短路 Dijkstra
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目分析:比较简单的最短路算法应用.题目告知起点与终点的位置,以及各路口之间路径到达所需的时间, ...
- HDU 2544最短路 【dijkstra 链式前向星+优先队列优化】
最开始学最短路的时候只会用map二维数组存图,那个时候还不知道这就是矩阵存图,也不懂得效率怎么样 经过几个月的历练再回头看最短路的题, 发现图可以用链式前向星来存, 链式前向星的效率是比较高的.对于查 ...
随机推荐
- Redis学习笔记之底层数据结构
1.简单动态字符串(simple dynamic string, SDS) 定义: struct sdshdr { int len;//记录buf中使用的字节数量 int ...
- Spring学习总结之高级装配
1. profile profile可以决定bean在什么环境下才被装配(开发环境.测试环境.线上环境等) @Profile(“dev”)可以用在class之前,也可以用在类之前(Spring3.2 ...
- 四种losses
1. Classification losses 每次输入一个样本,对样本进行类别预测,根据预测类别和真实标签得到对应的分类损失. 2. Pairwise losses 每次输入两个样本,数据集包含了 ...
- final发布简评
1.nice!——约跑app:本次发布使用摄像头展示,比之前清晰的多,展示效果很好,值得学习!功能都已实现,已经可以使用,好评. 2.飞天小女警——礼物挑选:本次发布风格与上次不同,除此之外添加了猜你 ...
- 关于PSP(个人软件过程)
在第一堂课时,杨老师就提到了PSP(个人软件过程),但是我从2016年3月10日才开始进行粗略的PSP时间管理统计,这是长迭代,用老师的话“差评”.然后在2016年3月11日下午的软件项目管理上,老师 ...
- Android studio Gradle编译错误: Unable to tunnel through proxy. Proxy returns "HTTP/1.1 400 Bad Reques
两种处理方法: 1.修改distributionUrl链接 gradle-wrapper.properties文件 distributionUrl=https\://services.gradle.o ...
- python自动化之excel
import openpyxl wb=openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\sl.xlsx') type(wb) wb.get ...
- NESTED最终与外部事务合并在一起提交
NESTED最终与外部事务合并在一起提交
- 修改MyEclipse取消默认工作空间
使用MyEclipse,在最开始Workspace Launcher中选择工作空间时,勾选了默认选择,以后启动程序的时候,就不会弹出这个选择工作空间的对话框了.如下图: 但后来又新增一个工作空间,需要 ...
- String args[] 和 String[] args 有什么区别
String args[] 和 String[] args 有什么区别 public static void main(String args[]) 或 public static void main ...