Pagini recente » Cod sursa (job #2186108) | Cod sursa (job #130765) | Cod sursa (job #2267201) | Cod sursa (job #1323211) | Cod sursa (job #1343144)
#include <cstdio>
#include <algorithm>
#define nmax 100+5
#define inf 1 << 29
using namespace std;
int a[nmax][nmax];
int n;
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
int i, j, k;
int x;
scanf("%d", &n);
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
{
scanf("%d", &x);
if (i != j && x == 0)
a[i][j] = inf;
else
a[i][j] = x;
}
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
for (i = 1; i <= n; i++)
{
for (j = 1; j <= n; j++)
if (a[i][j] >= inf)
printf("%d ", 0);
else
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}