Pagini recente » Cod sursa (job #2729073) | Cod sursa (job #617478) | Cod sursa (job #1018454) | Cod sursa (job #1577393) | Cod sursa (job #2148551)
#include <stdio.h>
#define min( a, b ) ( ( a < b ) ? a : b )
#define NMAX 100
int dist[NMAX][NMAX];
int main() {
FILE *fin, *fout;
fin = fopen( "royfloyd.in", "r" );
fout = fopen( "royfloyd.out", "w" );
int n, i, j, k;
fscanf( fin, "%d", &n );
for ( i = 0; i < n; i++ )
for ( j = 0; j < n; j++ )
fscanf( fin, "%d", &dist[i][j] );
for ( k = 0; k < n; k++ )
for ( i = 0; i < n; i++ )
for ( j = 0; j < n; j++ )
dist[i][j] = min( dist[i][j], dist[i][k] + dist[k][j] );
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < n; j++ )
fprintf( fout, "%d ", dist[i][j] );
fprintf( fout, "\n" );
}
fclose( fin );
fclose( fout );
return 0;
}