Pagini recente » Cod sursa (job #1397433) | Cod sursa (job #2119910) | Cod sursa (job #1152089) | Cod sursa (job #818027) | Cod sursa (job #191762)
Cod sursa(job #191762)
#include <cstdio>
#define inf 1000000
int d[105][105];
int n;
int min(int a,int b){ return (a>b)?b:a; }
void init(){
int i,j;
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
if (i!=j)
d[i][j]=inf;
}
int main()
{
int i,j,x;
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
init();
for (i=1;i<=n;++i)
for (j=1;j<=n;++j){
scanf("%d",&x);
if (x)
d[i][j]=x;
}
for (x=1;x<=n;++x)
for (i=1;i<=n;++i)
for (j=1;j<=n;++j)
d[i][j]=min(d[i][j],d[x][j]+d[i][x]);
for (i=1;i<=n;++i){
for (j=1;j<=n;++j){
if (d[i][j]==inf)
printf("0 ");
else
printf("%d ",d[i][j]);
}
printf("\n");
}
return 0;
}