算例一【最短路(九度OJ 1447)】
-
题目描述
-
解题思路
①掌握floyd算法思路!!!
②注意要判断:数据集大小为100,O(n^3)没有溢出,所以可以使用。(Floyd 算法的时间复杂度为O(N^3),空间复杂度为O(N^2))
-
解题代码
#include <stdio.h>
int ans[101][101]; //二维数组,其初始值即为该图的邻接矩阵
int main ()
{
int n, m;
while (scanf ("%d%d",& n,&m) != EOF )
{
if (n == 0 && m == 0)
break;
for (int i = 1; i <= n; i ++)
{
for (int j = 1; j <= n; j ++)
{
ans[i][j] = -1; //对邻接矩阵初始化,我们用-1代表无穷
}
ans[i][i] = 0; //自己到自己的路径长度设为0
}
while(m --)
{
int a, b, c;
scanf ("%d%d%d",& a,& b,& c);
ans