NEFU OJ 207 最短路径问题
来源:互联网 发布:淘宝客如意投是什么 编辑:程序博客网 时间:2024/05/16 01:36
http://acm.nefu.edu.cn/JudgeOnline/contestshow.php?contest_id=120&problem_id=207&num=2
description
有n个站,求从1站到n站的最短路线。
input
输入第一行n和m, n表示有n个站,m表示有m条道路,(n,m<100)接下来m行每一行输入三个数a,b,d,表示a和b之间有一条长为d 的路。
output
输出从1到n的最短距离。
sample_input
5 41 2 11 5 52 4 24 5 1 2 11 2 3
sample_output
43
代码用到了弗洛伊德(Floyd)算法,网上有讲解,我就不献丑了http://blog.csdn.net/hitwhylz/article/details/11990069下面是我的代码:
#include <stdio.h>#include <iostream>#include <string.h>#define MAX 99999#define LEN 101using namespace std;int map[LEN][LEN];void abc(){ int i,j; for(i=0;i<LEN ;i++) { for(j=0;j<LEN;j++) map[i][j]=MAX; }}void prime(int n){ int i,j,k; for(k=0;k<n;k++)//Floyd算法的精髓,时间复杂度o(n^3) for(i=0;i<n;i++) for(j=0;j<n;j++) if(map[i][j]>map[i][k]+map[k][j]) map[i][j]=map[i][k]+map[k][j];}int main(){ abc(); int m,n,a,b,c,d,w,i; while(~scanf("%d%d",&n,&m)) { for(i=0;i<m;i++) { cin>>a>>b>>w; if(map[a][b]>w) map[a][b]=w; } cin >> c>> d; prime(n); if(map[c][d]==MAX) cout << "-1\n"; else cout << map[c][d] << endl; } return 0;}
0 0
- NEFU OJ 207 最短路径问题
- JOBDU-OJ 1008 最短路径问题
- 南阳oj 街道最短路径问题
- 九度OJ 1008最短路径问题
- 九度oj 题目1008:最短路径问题
- 九度OJ--1008--最短路径问题
- 九度oj 题目1008:最短路径问题
- 九度oj-1008-最短路径问题
- 九度OJ 题目1008:最短路径问题
- 九度OJ:题目1008 最短路径问题
- 【杭电oj】3790 - 最短路径问题(dijkstra)
- 九度OJ 1008 最短路径问题
- 九度 OJ 1008 最短路径问题
- 九度OJ-浙大1008最短路径问题
- 九度OJ-1008:最短路径问题
- 九度 oj 题目1008:最短路径问题
- 九度OJ-题目1008 最短路径问题
- 九度oj 题目1008:最短路径问题
- 存货的计价方法
- 常用的类型转化
- Cargo本地/远程部署war包的Ant脚本编写方式
- No.1:01背包问题
- ios开发基础-判断NSString是否为纯数字
- NEFU OJ 207 最短路径问题
- android camera(三):camera V4L2 FIMC
- PHP Framework Laravel4 之路 一
- Alienware M11x R2 退居二线,家人工作用机
- acm笔记(1)
- android判断黑屏以及屏幕屏
- 从iphone和android应用来看公司
- iphone 如何判断tableview滚动到最低端
- Future 模式