Pagini recente » Cod sursa (job #2947924) | Cod sursa (job #2980580) | Cod sursa (job #1371313) | Cod sursa (job #2344908) | Cod sursa (job #562465)
Cod sursa(job #562465)
#include<stdio.h>
#define INF 1 << 20
#define maxN 105
FILE*f=fopen("royfloyd.in","r");
FILE*g=fopen("royfloyd.out","w");
int N,i,j,k,C[maxN][maxN];
int main () {
fscanf(f,"%d",&N);
for ( i = 1 ; i <= N ; ++i ){
for ( j = 1 ; j <= N ; ++j ){
fscanf(f,"%d",&C[i][j]);
if ( !C[i][j] )
C[i][j] = INF;
}
}
for ( k = 1 ; k <= N ; ++k ){
for ( i = 1 ; i <= N ; ++i ){
for ( j = 1 ; j <= N ; ++j ){
if ( i != j && C[i][k] + C[k][j] < C[i][j] ){
C[i][j] = C[i][k] + C[k][j] ;
}
}
}
}
for ( i = 1 ; i <= N ; ++i ){
for ( j = 1 ; j <= N ; ++j ){
if ( C[i][j] == INF ){
fprintf(g,"0 ");
continue ;
}
fprintf(g,"%d ",C[i][j]);
}
fprintf(g,"\n");
}
fclose(f);
fclose(g);
return 0;
}