Pagini recente » Cod sursa (job #204587) | Cod sursa (job #1248066) | Cod sursa (job #277869) | Monitorul de evaluare | Cod sursa (job #1581956)
#include <cstdio>
using namespace std;
int d[105][105];
int main()
{
FILE *in,*out;
in=fopen("royfloyd.in","r");
out=fopen("royfloyd.out","w");
int i,j,k,n,m;
fscanf(in,"%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
fscanf(in,"%d",&d[i][j]);
}
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if((d[i][k]+d[k][j]<d[i][j] || !d[i][j]) && d[i][k] && d[k][j] && i!=j)
d[i][j]=d[i][k]+d[k][j];
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
fprintf(out,"%d ",d[i][j]);
fprintf(out,"\n");
}
return 0;
}