Pagini recente » Cod sursa (job #1632000) | Cod sursa (job #2202627) | Cod sursa (job #2421097) | Cod sursa (job #2577333) | Cod sursa (job #2263575)
#include<cstdio>
#define INF 1000000000
int n,i,j,k,a,b,d[110][110];
FILE *f,*g;
int main(){
f = fopen("royfloyd.in","r");
g = fopen("royfloyd.out","w");
fscanf(f,"%d",&n);
for(i = 1; i <= n; i ++){
for(j = 1; j <= n; j ++){
fscanf(f,"%d",&d[i][j]);
if(d[i][j] == 0 && i != j)
d[i][j] = INF;
}
}
for(i = 1; i <= n; i ++){
for(j = 1; j <= n; j ++){
for(k = 1; k <= n; k ++){
if( d[i][j] > d[i][k] + d[k][j] )
d[i][j] = d[i][k] + d[k][j];
}
}
}
for(i = 1; i <= n; i ++){
for(j = 1; j <= n; j ++){
if(d[i][j] == INF)
fprintf(g,"0 ");
else
fprintf(g,"%d ",d[i][j]);
}
fprintf(g,"\n");
}
fclose(f);
fclose(g);
return 0;
}