Pagini recente » Cod sursa (job #1952645) | Cod sursa (job #1952952) | Cod sursa (job #2397427) | Cod sursa (job #1970074) | Cod sursa (job #2263574)
#include<cstdio>
#define INF 1000000000
int n,i,j,k,a,b,v[110][110],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",&v[i][j]);
if(i == j || v[i][j] != INF)
d[i][j] = v[i][j];
else
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;
}