【????】最短路(short)
2024-08-31 20:51:23
问题描述:
给出N个点,M条无向边的简单图,问所有点对之间的最短路。
数据输入:
第1行两个正整数N,M(N<=100,M<=5000)
下面M行,每行3个正整数x, y, w,为一条连接顶点x与y的边权值为w。(x<=n,y<=n,w<=1000)
数据输出:
包括N行,每行N个数,第i行第j个数为点i到点j的最短路,第i行第i个数应为0,数字之间空格隔开。
样例输入:
5 10
3 2 1
2 4 7
5 3 4
4 1 2
5 1 8
3 4 10
5 4 9
2 5 2
1 2 1
3 1 10
样例输出:
0 1 2 2 3
1 0 1 3 2
2 1 0 4 3
2 3 4 0 5
3 2 3 5 0
【题解】
求任意两点之间的最短路径。只要用floyd算法就能实现。
然后一开始置初值w[i][j]的时候。
对于输入的x,y,z只有在w[x][y] > z时才更新w[x][y]为z。
这样保证输入的数据设置的w[x][y]是x到y的最短距离。
【代码】
#include <cstdio>
#include <cstring> int n, m,w[101][101]; void input_data()
{
memset(w, 127 / 3, sizeof(w)); //这是一个很大的接近210000000的数字把它除3防止溢出
scanf("%d%d", &n, &m);
for (int i = 1; i <= m; i++) //输入 m条边
{
int x,y,z;
scanf("%d%d%d", &x, &y, &z);
if (w[x][y] > z) //如果x,y之间的距离更短了则更新
{
w[x][y] = z;
w[y][x] = z;
}
}
} void get_ans()
{
for (int i = 1; i <= n; i++) //i到i的距离设置为0
w[i][i] = 0;
for (int k = 1; k <= n; k++) //用floyd求任意两点之间的距离。
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
if (w[i][j] > w[i][k] + w[k][j])
w[i][j] = w[i][k] + w[k][j];
} void output_ans()
{
for (int i = 1; i <= n; i++) //用邻接矩阵的方式输出任意两点之间的距离即可。
{
for (int j = 1; j <= n - 1; j++)
printf("%d ", w[i][j]);
printf("%d\n", w[i][n]);
}
} int main()
{
input_data();
get_ans();
output_ans();
return 0;
}
最新文章
- Jquery中的bind(),live(),delegate(),on()绑定事件方式
- OpenLayers的定制
- Asp.net MVC JsonResult 忽略属性
- Thread.sleep() &; SystemClock.sleep()
- bzoj 3365 [Usaco2004 Feb]Distance Statistics 路程统计(点分治,单调)
- C#基础(一)——C#中反斜杠/n与/r的区别
- Android WebView 软键盘挡住输入框
- opensatck 使用devstack在 laptop上的 网络配置
- 8、Cocos2dx 3.0三,找一个小游戏开发3.0存储器管理的版本号
- DEV 打印gridcontrl
- 将非常规Json字符串转换为常用的json对象
- 【NOIP2012提高组】借教室
- 关于ES6 用箭头函数后的 this 指向问题
- nasm预处理器(4)
- Js与jQuery的相互转换
- git同时存在两个账号(在同一台电脑上)——三步完成
- Linux 堆溢出原理分析
- ConcurrentHashMap底层实现原理(JDK1.8)源码分析
- 为什么CPU的主频止步于4GHz?
- 20155233 《网络对抗》 Exp5 MSF基础应用
热门文章
- 应该知道的30个jQuery代码开发技巧
- app 自动化测试 Appium+python可以运行的代码
- 通过wmi获取本地硬件信息的一些疑问。
- CSS笔记 - fgm练习 - 三个div变色 - CSS div等分布局
- 2013腾讯编程马拉松||HDU 4505 小Q系列故事——电梯里的爱情 水水水
- 为SSO 5.5恢复忘记的administrator@vsphere.local密码
- Apache的.htaccess项目根文件夹伪静态设置规则
- OC的DES加密,使与java的Cipher类用DES/CBC/PKCS5Padding方式的加密结果同样
- 读<;阿里亿级日活网关通道架构演进>;有感
- 表单提交数据格式form data