Pagini recente » Cod sursa (job #1424130) | Cod sursa (job #1274259) | Cod sursa (job #1741867) | Cod sursa (job #1400869) | Cod sursa (job #492317)
Cod sursa(job #492317)
#include<stdio.h>
#define inf 200000000
using namespace std;
FILE *f=fopen("royfloyd.in","r");
FILE *g=fopen("royfloyd.out","w");
int cost[101][101],i,j,k,n;
int min (int a,int b){
if(a<b)
return a;
return b;
}
void citire(){
fscanf(f,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++){
fscanf(f,"%d",&k);
if(k!=0)
cost[i][j]=k;
else cost[i][j]=inf;
}
}
void solve(){
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j)
cost[i][j]=min(cost[i][j], cost[i][k]+cost[k][j]);
}
void afis(){
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
if(cost[i][j]!=inf)
fprintf(g,"%d ",cost[i][j]);
else fprintf(g,"0 ");
fprintf(g,"\n");
}
}
int main(){
citire();
solve();
afis();
return 0;
}