Pagini recente » Cod sursa (job #2052441) | Cod sursa (job #3124076) | Cod sursa (job #2847656) | Cod sursa (job #3288830) | Cod sursa (job #2067891)
# include <bits/stdc++.h>
using namespace std;
const int inf = 1e3 + 1, Nmax = 100 + 5;
int a[Nmax][Nmax], n, i, j, k;
int main ()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d\n", &n);
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j)
{
scanf("%d ", &a[i][j]);
if (!a[i][j]) a[i][j] = inf;
}
for (k = 1; k <= n; ++k)
for (i = 1; i <= n; ++i)
for (j = 1; j <= n; ++j)
if (i != 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("0 ");
else printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}