Pagini recente » Cod sursa (job #2270627) | Cod sursa (job #1170343) | Cod sursa (job #3140406) | Profil barosanul | Cod sursa (job #2671045)
#include <stdio.h>
#define MAXN 100
#define INF 1000000000
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]);
if( i != j && mat[i][j] == 0 )
mat[i][j] = INF;
}
for( k = 0 ; k < n ; k++ )
for( i = 0 ; i < n ; i++ )
for( j = 0 ; j < n ; j++ )
if( 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;
}