Pagini recente » Cod sursa (job #3211993) | Cod sursa (job #3284228) | Cod sursa (job #2657634) | Cod sursa (job #2281975) | Cod sursa (job #2671002)
#include <stdio.h>
#define MAXN 100
#define INF 10001
int mat[MAXN][MAXN];
int main(){
FILE *fin = fopen("royfloyd.in", "r");
FILE *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", &mat[i][j]);
for( i = 0 ; i < n ; i++ )
for( j = 0 ; j < n ; j++ )
for( k = 0 ; k < n ; k++ )
if( mat[i][k] > 0 && mat[k][j] > 0 && mat[i][j] > mat[i][k] + mat[k][j] )
mat[i][j] = mat[i][k] + mat[k][j];
for( i = 0 ; i < n ; i++ ){
for( j = 0 ; j < n ; j++ )
fprintf(fout, "%d ", mat[i][j]);
fputc('\n', fout);
}
fclose(fin);
fclose(fout);
return 0;
}