解题思路:
注意事项:
参考代码:
#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 55,inf=1e9+10;
int g[N][N], n;
void floyd()
{
for (int k = 1; k <= n; k++)
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
g[i][j] = min(g[i][j], g[i][k] + g[k][j]);
}
int main()
{
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
scanf("%d", &g[i][j]);
if (g[i][j] == 0&&i!=j)
g[i][j] =inf;
}
}
floyd();
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (i == j)
g[i][j] = 0;
if (g[i][j] > inf / 2)
printf("-1 ");
else
printf("%d ", g[i][j]);
}
puts("");
}
puts("");
return 0;
}
0.0分
1 人评分
C语言程序设计教程(第三版)课后习题12.3 (C语言代码)浏览:836 |
程序员的表白 (C语言代码)浏览:1472 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题11.8 (C语言代码)浏览:623 |
C语言训练-求函数值 (C语言代码)浏览:581 |
C语言训练-尼科彻斯定理 (C语言代码)浏览:469 |
C语言程序设计教程(第三版)课后习题6.3 (C++代码)浏览:963 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:941 |
IP判断 (C语言代码)浏览:764 |
Tom数 (C语言代码)浏览:725 |