Pagini recente » Cod sursa (job #2890270) | Cod sursa (job #2206873) | Cod sursa (job #2339902) | Cod sursa (job #2449611) | Cod sursa (job #144394)
Cod sursa(job #144394)
#include <stdio.h>
#define in "royfloyd.in"
#define out "royfloyd.out"
#define NMAX 105
int A[NMAX][NMAX];
int N;
int main()
{
freopen( in, "r", stdin );
freopen( out, "w", stdout );
int i, j, k;
scanf( "%d", &N );
for ( i = 1; i <= N; ++i )
for ( j = 1; j <= N; ++j )
scanf( "%d", &A[i][j] );
for ( k = 1; k <= N; ++k )
for ( i = 1; i <= N; ++i )
for ( j = 1; j <= N; ++j )
if ( i != j )
{
if ( A[i][k] && A[k][j] && ((!A[i][j]) || (A[i][j] > A[i][k] + A[k][j])) ) A[i][j] = A[i][k] + A[k][j];
}
for ( i = 1; i <= N; ++i )
{
for ( j = 1; j <= N; ++j )
printf( "%d ", A[i][j] );
printf( "\n" );
}
return 0;
}