Pagini recente » Cod sursa (job #237355) | Cod sursa (job #1173817) | Cod sursa (job #1426242) | Cod sursa (job #2297985) | Cod sursa (job #591526)
Cod sursa(job #591526)
#include<stdio.h>
#define OVER9000 9001
int a[128][128];
int min(int x,int y)
{
if(x>y)
return y;
return x;
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n,i,j,k,x;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
scanf("%d",&x);
if (x==0)
a[i][j]=OVER9000;
else
a[i][j]=x;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(i!=j)
a[i][j]=min(a[i][j],a[k][j]+a[i][k]);
for(i=1;i<=n;i++)
{
if(a[i][1]==OVER9000)
printf("0");
else
printf("%d",a[i][1]);
for(j=2;j<=n;j++)
{
if(a[i][j]==OVER9000)
printf(" 0");
else
printf(" %d",a[i][j]);
}
printf("\n");
}
return 0;
}