Pagini recente » Cod sursa (job #1350854) | Cod sursa (job #975636) | Cod sursa (job #66736) | Cod sursa (job #1028678) | Cod sursa (job #1428454)
#include <stdio.h>
#define MAXN 100
int d[MAXN+1][MAXN+1];
int main(){
int n, i, j, k;
FILE *fin, *fout;
fin=fopen("royfloyd.in", "r");
fout=fopen("royfloyd.out", "w");
fscanf(fin, "%d", &n);
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
fscanf(fin, "%d", &d[i][j]);
}
}
for(k=1; k<=n; k++){
for(i=1; i<=n; i++){
for(j=1; j<=n; j++){
if((i!=j)&&(d[i][k]!=0)&&(d[k][j]!=0)&&((d[i][j]==0)||(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++){
fprintf(fout, "%d ", d[i][j]);
}
fprintf(fout, "%d\n", d[i][n]);
}
fclose(fin);
fclose(fout);
return 0;
}