Pagini recente » Cod sursa (job #2833915) | Cod sursa (job #1222951) | Cod sursa (job #3205766) | Cod sursa (job #2705038) | Cod sursa (job #2670997)
#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]);
if( mat[i][j] == 0 && i != j )
mat[i][j] = INF;
}
}
for( i = 0 ; i < n ; i++ )
for( j = 0 ; j < n ; j++ )
for( k = 0 ; k < n ; k++ )
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;
}