Pagini recente » 02local11 | Cod sursa (job #531937) | Cod sursa (job #314927) | Cod sursa (job #214575) | Cod sursa (job #145800)
Cod sursa(job #145800)
#include<stdio.h>
#include<string.h>
#define INPUT "royfloyd.in"
#define OUTPUT "royfloyd.out"
#define FOR(x,y,z) for(x=y;x<=z;++x)
#define CL(x) memset(x,0,sizeof(x));
FILE *fin=fopen(INPUT, "r"),*fout=fopen(OUTPUT, "w");
long n,drum[101][101];
void readValues();
void solveFunction();
void printSolution();
int main(){
readValues();
solveFunction();
fclose(fin);
fclose(fout);
return 0;
}
void readValues(){
fscanf(fin, "%ld", &n);
CL(drum);
int i,j;
FOR(i,1,n)
FOR(j,1,n)
fscanf(fin, "%ld", &drum[i][j]);
}
void solveFunction(){
int i,j,k;
FOR(k,1,n)
FOR(i,1,n)
FOR(j,1,n)
if(i!=j && drum[i][k] && drum[k][j])
if(drum[i][j]>drum[i][k]+drum[k][j])
drum[i][j]=drum[i][k]+drum[k][j];
printSolution();
}
void printSolution(){
int i,j;
FOR(i,1,n){
FOR(j,1,n)
fprintf(fout, "%ld ", drum[i][j]);
fprintf(fout, "\n");
}
}