Description
用弗洛伊德算法求任意两点间的最短路径的长度
Input
先输入一个小于100的正整数n,然后输入图的邻接矩阵(10000表示无穷大,即两点之间没有边),之后再输入一个小于100的正整数m,最后的m行每行输入两个不同的0到n-1之间的整数表示两个点。
Output
用弗洛伊德算法求任意两点间的最短路径的长度,并输出这些两个点之间的最短路径的长度。
-
Sample Input
4 0 2 10 10000 2 0 7 3 10 7 0 6 10000 3 6 0 2 0 2 3 0 -
Sample Output
9 5
#include<stdio.h>
#define MAX 10000
int matr[100][100];
int n, m, x, y;
void init(){
int i, j;
scanf("%d", &n);
for(i = 0; i < n; i++){
for(j = 0; j < n; j++){
scanf("%d", &matr[i][j]);
}
}
}
void search(){
int

该博客介绍了如何使用弗洛伊德算法求解赋权图中任意两点间的最短路径。内容包括算法的输入(邻接矩阵,表示图的边权重),输出(输出所有点对的最短路径长度)以及示例输入和输出。
最低0.47元/天 解锁文章





