Pagini recente » Cod sursa (job #44448) | Cod sursa (job #2719036) | Cod sursa (job #1351228) | Cod sursa (job #62780) | Cod sursa (job #1082073)
#include<cstdio>
#define FOR(i,a,b) for(i = a ; i <= b ; ++i)
#define MaxN 101
using namespace std;
int dist[MaxN][MaxN];
int main (){
FILE *in=fopen("royfloyd.in","r");
int n,i,j,k;
fscanf(in,"%d",&n);
FOR(i,1,n)
FOR(j,1,n)
fscanf(in,"%d",&dist[i][j]);
fclose(in);
FOR(k,1,n)
FOR(i,1,n)
FOR(j,1,n){
if(((dist[i][j] > dist[i][k] + dist[k][j] || !dist[i][j]) && i != j) && dist[i][k] && dist[k][j] )
dist[i][j]=dist[i][k]+dist[k][j];
}
FILE *out=fopen("royfloyd.out","w");
FOR(i,1,n){
FOR(j,1,n)
fprintf(out,"%d ",dist[i][j]);
fprintf(out,"\n");
}
fclose(out);
return 0;
}