Pagini recente » Cod sursa (job #419938) | Cod sursa (job #2716142) | Cod sursa (job #129497) | Cod sursa (job #1817848) | Cod sursa (job #387092)
Cod sursa(job #387092)
#include <cstdio>
#define Nmax 105
void citire ();
int n;
int a[Nmax][Nmax];
void royfloyd () {
int i, j, k;
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if ( (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j && a[i][k] && a[k][j])
a[i][j] = a[i][k] + a[k][j];
}
int main () {
freopen ("royfloyd.in", "r", stdin);
freopen ("royfloyd.out", "w", stdout);
citire ();
royfloyd ();
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++)
printf ("%d ", a[i][j]);
printf ("\n");
}
return 0;
}
void citire () {
int i, j;
scanf ("%d", &n);
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
scanf ("%d", &a[i][j]);
}