解题思路:
注意事项:
参考代码:
#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语言程序设计教程(第三版)课后习题6.3 (Java代码)浏览:656 |
数组输出 (C语言代码)浏览:767 |
C语言训练-数字母 (C语言代码)浏览:585 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:584 |
【出圈】 (C语言代码)浏览:558 |
兰顿蚂蚁 (C++代码)浏览:1045 |
WU-陶陶摘苹果2 (C++代码)浏览:973 |
DNA (C语言描述,数据结构)浏览:855 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:545 |
IP判断 (C语言描述,蓝桥杯)浏览:1095 |