Pagini recente » Cod sursa (job #207310) | Cod sursa (job #1684364) | Istoria paginii utilizator/casianos1996 | Cod sursa (job #1712963) | Cod sursa (job #145445)
Cod sursa(job #145445)
#include <stdio.h>
#define MAXN 128
#define FOR(i, a, b) for (int (i) = (a); (i) < (int)(b); (i)++)
int N, x[MAXN][MAXN];
int main()
{
freopen("royfloyd.in", "rt", stdin);
freopen("royfloyd.out", "wt", stdout);
scanf("%d", &N);
FOR(i, 0, N) FOR(j, 0, N)
{
scanf("%d", x[i] + j);
if (x[i][j] == 0 && i != j)
x[i][j] = 0x3f3f3f3f;
}
FOR(k, 0, N) FOR(i, 0, N) FOR(j, 0, N)
if (x[i][k] + x[k][j] < x[i][j])
x[i][j] = x[i][k] + x[k][j];
FOR(i, 0, N)
{
FOR(j, 0, N)
if (x[i][j] == 0x3f3f3f3f)
printf("0 ");
else
printf("%d ", x[i][j]);
printf("\n");
}
return 0;
}