Pagini recente » Cod sursa (job #2455979) | Cod sursa (job #868648) | Cod sursa (job #2754425) | Cod sursa (job #844726) | Cod sursa (job #1167991)
#include <cstdio>
#define MAXN 100
int a[MAXN+1][MAXN+1];
int main () {
FILE *f, *g;
f = fopen( "royfloyd.in", "r" );
g = fopen( "royfloyd.out", "w" );
int n;
fscanf( f, "%d", &n );
for( int i = 1 ; i <= n ; ++i )
for( int j = 1 ; j <= n ; ++j )
fscanf( f, "%d", &a[i][j] );
for( int k = 1 ; k <= n ; ++k )
for( int i = 1 ; i <= n ; ++i )
for( int j = 1 ; j <= n ; ++j )
if( i != j && a[i][k] && a[k][j] && ( a[i][j] == 0 || a[i][j] > a[i][k] + a[k][j] ) )
a[i][j] = a[i][k] + a[k][j];
for( int i = 1 ; i <= n ; ++i ) {
for( int j = 1 ; j <= n ; ++j )
fprintf( g, "%d ", a[i][j] );
fprintf( g, "\n" );
}
fclose( f );
fclose( g );
return 0;
}