Pagini recente » Cod sursa (job #2902120) | Cod sursa (job #1829476) | Cod sursa (job #301700) | Cod sursa (job #896791) | Cod sursa (job #145477)
Cod sursa(job #145477)
#include<stdio.h>
#define min(a,b) ((a)<(b)?(a):(b))
FILE*f=fopen("royfloyd.in","r");
FILE*g=fopen("royfloyd.out","w");
int n,d[104][104];
void read()
{
fscanf(f,"%d",&n);
int i,j;
for(i=1;i<=n;++i)
for(j=1;j<=n;++j)
{
fscanf(f,"%d",&d[i][j]);
}
}
void RoyFloyd()
{
int i,j,x,y,z;
for(z=1;z<=n;++z)
for(x=1;x<=n;++x)
for(y=1;y<=n;++y)
if(d[x][z]&&d[z][y]) d[x][y]=min(d[x][y],d[x][z]+d[z][y]);
for(i=1;i<=n;++i)
{
for(j=1;j<=n;++j)
{
fprintf(g,"%d ",d[i][j]);
}
fprintf(g,"\n");
}
}
int main()
{
read();
RoyFloyd();
return 0;
}