hihocoder 1089最短路径

来源:互联网 发布:unity3d 场景制作 编辑:程序博客网 时间:2024/05/22 07:47

题目链接

描述

万圣节的中午,小Hi和小Ho在吃过中饭之后,来到了一个新的鬼屋!

鬼屋中一共有N个地点,分别编号为1..N,这N个地点之间互相有一些道路连通,两个地点之间可能有多条道路连通,但是并不存在一条两端都是同一个地点的道路。

由于没有肚子的压迫,小Hi和小Ho决定好好的逛一逛这个鬼屋,逛着逛着,小Hi产生了这样的问题:鬼屋中任意两个地点之间的最短路径是多少呢?

提示:其实如果你开心的话,完全可以从每个节点开始使用Dijstra算法_(:з」∠)_。

输入

每个测试点(输入文件)有且仅有一组测试数据。

在一组测试数据中:

第1行为2个整数N、M,分别表示鬼屋中地点的个数和道路的条数。

接下来的M行,每行描述一条道路:其中的第i行为三个整数u_i, v_i, length_i,表明在编号为u_i的地点和编号为v_i的地点之间有一条长度为length_i的道路。

对于100%的数据,满足N<=10^2,M<=10^3, 1 <= length_i <= 10^3。

对于100%的数据,满足迷宫中任意两个地点都可以互相到达。

输出

对于每组测试数据,输出一个N*N的矩阵A,其中第i行第j列表示,从第i个地点到达第j个地点的最短路径的长度,当i=j时这个距离应当为0。

样例输入
5 121 2 9672 3 9003 4 7714 5 1962 4 7883 1 6371 4 8832 4 825 2 6471 4 1982 4 1815 2 665
样例输出
0 280 637 198 394 280 0 853 82 278 637 853 0 771 967 198 82 771 0 196 394 278 967 196 0 
#include <iostream>#include <algorithm>#include <cstring>using namespace std;int mp[110][110];const int inf = 0x3f3f3f3f;int n,m,a,b,c;void solve(){for(int k = 1;k<=n;k++)for(int i = 1;i<=n;i++)for(int j = 1;j<=n;j++)if(mp[i][k] < inf && mp[k][j] < inf)if(mp[i][j] > mp[i][k] + mp[k][j])mp[i][j] = mp[i][k] + mp[k][j];for(int i = 1;i<=n;i++){for(int j = 1;j<=n;j++)cout<<mp[i][j]<<" ";cout<<endl;}}int main(){while(cin >> n >> m){memset(mp,0,sizeof(mp));for(int i = 1;i<=n;i++)for(int j = 1;j<=n;j++)if(i == j)mp[i][j] = 0;elsemp[i][j] = inf;for(int i = 0;i<m;i++){cin >> a >> b >> c;mp[a][b] = mp[b][a] = min(mp[a][b],c);  //注意他可能会给起点终点相同但len不同的数据}solve();}}


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 部队体能差的人怎么办 上环5天同房了怎么办 肾结石有3mm了怎么办 4*3mm肾结石好痛怎么办 做完肾结石积水后迟续发烧怎么办 血糖高有肾结石反复发高烧怎么办 肾里面有小结石怎么办 大于2厘米的结石怎么办 双肾结石肾盏扩张怎么办 边防消防警卫部队改革义务兵怎么办 汽车年检尾气复检不合格怎么办 车辆年检尾气不合格复检怎么办? 在瓜子上买车复检有问题怎么办 更换车壳车架号怎么办 吸完甲醛的绿萝怎么办 如果公务员复检不合格有异议怎么办 国考公务员政审没有毕业证怎么办 打针硬块4年不消怎么办 外墙补起来难看不好卖怎么办 杠精现实中应该怎么办 发现记者报道假新闻怎么办 2018消防兵转制到期士官怎么办 小孩睡觉老想着军训怎么办 1岁宝宝太老实了怎么办 上课小孩很调皮不听话怎么办 初中学生上课爱说话调皮怎么办 8个月婴儿疝气怎么办 头部疤痕不长发怎么办呢 有纹身想去当兵怎么办 在部队干活的钱怎么办 新兵5公里超过标准时间怎么办 17个月婴儿裹手怎么办 7个月婴儿裹手怎么办 俩月孩子裹手怎么办 婴儿 3个月 裹手怎么办 一岁宝宝裹手怎么办 5个月宝宝裹手怎么办 不想让孩子裹手怎么办 四个月宝宝裹手怎么办 开车撞狗了跑了怎么办 母螃蟹抱卵了怎么办