HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544
//代码: //方法1:Dijkstra's Algorithm #include<stdio.h>
#include<math.h>
#include<string.h>
#define INF 0xfffffff
#define N 110
#define min(a, b)(a < b ? a : b) int maps[N][N];
int d[N], visit[N];
int n, m; void Init()
{
int i, j;
memset(visit, , sizeof(visit));
for(i = ; i <= n ; i++)
{
d[i] = INF;
for(j = ; j <= n ; j++)
maps[i][j] = INF;
}
} void Dij()
{
int i, j, x, min;
d[] = ;
for(i = ; i <= n ; i++)
{
min = INF;
for(j = ; j <= n ; j++)
{
if(!visit[j] && d[j] < min)
{
min = d[j];
x = j;
}
}
visit[x] = ;
for(j = ; j <= n ; j++)
{
if(!visit[j] && d[j] > d[x] + maps[x][j])
d[j] = d[x] + maps[x][j];
}
}
} int main()
{
int i, a, b, c;
while(scanf("%d%d", &n, &m), m + n != )
{
Init();
for(i = ; i <= m ; i++)
{
scanf("%d%d%d", &a, &b, &c);
maps[a][b] = min(maps[a][b], c);
maps[b][a] = maps[a][b];
}
Dij();
printf("%d\n", d[n]);
}
return ;
}//单元最短路 //方法2:弗洛伊德算法 #include<stdio.h>
#include<string.h>
#define N 110
#define INF 0xfffffff
#define min(a, b) (a < b ? a : b) int maps[N][N];
int n, m; void Init()
{
int i, j;
for(i = ; i <= n ; i++)
for(j = ; j <= n ; j++)
maps[i][j] = INF;
} void Floyd()
{
int i, k, j;
for(k = ; k <= n ; k++)
{
for(i = ; i <= n ; i++)
{
for(j = ; j <= n ; j++)
maps[i][j] = min(maps[i][j], maps[i][k] + maps[k][j]);
}
}
} int main()
{
int a, b, c, i;
while(scanf("%d%d", &n, &m), m + n != )
{
Init();
for(i = ; i <= m ; i++)
{
scanf("%d%d%d", &a, &b, &c);
maps[a][b] = min(maps[a][b], c);
maps[b][a] = maps[a][b];
}
Floyd();
printf("%d\n", maps[][n]);
}
return ;
}//多元最短路
HDU 2544 最短路 http://acm.hdu.edu.cn/showproblem.php?pid=2544的更多相关文章
- HDU 4911 http://acm.hdu.edu.cn/showproblem.php?pid=4911(线段树求逆序对)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4911 解题报告: 给出一个长度为n的序列,然后给出一个k,要你求最多做k次相邻的数字交换后,逆序数最少 ...
- KMP(http://acm.hdu.edu.cn/showproblem.php?pid=1711)
http://acm.hdu.edu.cn/showproblem.php?pid=1711 #include<stdio.h> #include<math.h> #inclu ...
- HDU-4632 http://acm.hdu.edu.cn/showproblem.php?pid=4632
http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意: 一个字符串,有多少个subsequence是回文串. 别人的题解: 用dp[i][j]表示这一段里 ...
- 待补 http://acm.hdu.edu.cn/showproblem.php?pid=6602
http://acm.hdu.edu.cn/showproblem.php?pid=6602 终于能够看懂的题解: https://blog.csdn.net/qq_40871466/article/ ...
- HDU-1257 导弹拦截系统 http://acm.hdu.edu.cn/showproblem.php?pid=1257
Problem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高 ...
- http://acm.hdu.edu.cn/showproblem.php?pid=2579
#include<stdio.h> #include<string.h> #include<queue> #define N 110 int m, n, k, x1 ...
- KMP应用http://acm.hdu.edu.cn/showproblem.php?pid=2594
riemann与marjorie拼接后riemannmarjorie前缀与后缀公共部分为 rie 长度为 3(即next[l] = next[14]的值,l为拼接后的长度)但:aaaa与aa拼接后aa ...
- HDU1973 http://acm.hdu.edu.cn/showproblem.php?pid=1973
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<queue> #inc ...
- HDU 1312 http://acm.hdu.edu.cn/showproblem.php?pid=1312
#include<stdio.h> #include<string.h> #include<math.h> #include<stdlib.h> #de ...
随机推荐
- bzoj4627: [BeiJing2016]回转寿司
权值线段树. 要求 L<=(s[i]-s[j])<=R (i<j). 的i和j的数量. 所以把前缀和s加入一棵权值线段树,每次询问满足条件的范围中的权值的个数. 权值线段树不能像普 ...
- Bundle对象的使用
在Android开发中,如果要通过一个Activity启动另外一个Activity,需要调用startActivity()函数,这个函数的参数是一个Intent对象,这个对象通常的初始化方式如下: I ...
- Java-利用spring发送邮件
最近项目中需要发送邮件的功能,于是百度一大把例子.但是有很多都是一样的,一点特点都没有.所以决定整理一番. 在spring2.X以后的版本就提供了org.springframework ...
- Windows上安装Yeoman
之前直接安装完Node.js后,运行npm install -g yo命令,结果出现什么"要安装framework2.0 sdk,vcbuild"什么的错误,怎么也弄不好,结果是各 ...
- [反汇编练习] 160个CrackMe之027
[反汇编练习] 160个CrackMe之027. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...
- mokoid android open source HAL hacking in a picture
/************************************************************************** * mokoid android HAL hac ...
- UVALive 5713 Qin Shi Huang's National Road System秦始皇修路(MST,最小瓶颈路)
题意: 秦始皇要在n个城市之间修路,而徐福声可以用法术位秦始皇免费修1条路,每个城市还有人口数,现要求徐福声所修之路的两城市的人口数之和A尽量大,而使n个城市互通需要修的路长B尽量短,从而使得A/B最 ...
- matlab注释使用,以及相应的注释快捷键
1.多行注释 单行注释是加% %{ 若干语句 %} 2.快捷键 多行注释: 选中要注释的若干语句, 编辑器菜单Text-<Comment, 或者快捷键Ctrl+R 取消注释: 选中要取消注释的语 ...
- python 传入参数返回的时候好像有些时候会出现莫名其妙的循环
def handle_field(name, s_len, s): #some code #return s would error but return not.... #return s for ...
- Apache二级域名配置方法
下面这个Apache二级域名配置方法是今天在其它BBS看到的,以前我配置是都是配置每个为一个虚拟目录今天正在想如何写没想到找到了. Apache二级域名实现方法介绍 首先,你的拥有一个有泛域名解析的顶 ...