Pagini recente » Cod sursa (job #3273227) | Cod sursa (job #530444) | Cod sursa (job #2219756) | Cod sursa (job #296013) | Cod sursa (job #155905)
Cod sursa(job #155905)
#include<stdio.h>
FILE*fin=fopen("royfloyd.in","r");
FILE*fout=fopen("royfloyd.out","w");
#define maxn 101
#define inf 10000
int main()
{
int n,cost[maxn][maxn],c[maxn][maxn],i,j,k;
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fscanf(fin,"%d",&cost[i][j]);
c[i][j]=cost[i][j];
if(!c[i][j]) c[i][j]=inf;
}
fclose(fin);
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j&&cost[i][k]&&c[k][j]!=inf&&c[i][j]>cost[i][k]+c[k][j])
c[i][j]=cost[i][k]+c[k][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
if(c[i][j]!=inf) fprintf(fout,"%d%c",c[i][j],' ');
else fprintf(fout,"0 ");
fprintf(fout,"\n");
}
fclose(fout);
return 0;
}