Pagini recente » Cod sursa (job #2173424) | Cod sursa (job #2586002) | Cod sursa (job #2479833) | Cod sursa (job #573665) | Cod sursa (job #2781063)
#include<cstdio>
const int M=2000000;
int d[101][101],t,l;
unsigned char n,i,j,k,p[M];
int A()
{
int s=0;
for(;p[t]<'0'||p[t]>'9';++t);
for(;p[t]>='0'&&p[t]<='9';++t)
s=s*10+p[t]-'0';
return s;
}
void S(int b)
{
unsigned char e[100];
int j;
if(!b)
p[l++]=48;
for(j=0;b;b/=10,++j)
e[j]=b%10+48;
for(--j;j>=0;--j)
p[l++]=e[j];
p[l++]=' ';
}
int main()
{
freopen("royfloyd.in","r",stdin),freopen("royfloyd.out","w",stdout),fread(p,1,M,stdin),n=A();
for(i=0;i<n;++i)
for(j=0;j<n;++j)
d[i][j]=A();
for(k=0;k<n;++k)
for(i=0;i<n;++i)
for(j=0;j<n;++j)
if(i!=j&&d[i][k]&&d[k][j]&&(!d[i][j]||d[i][j]>d[i][k]+d[k][j]))
d[i][j]=d[i][k]+d[k][j];
for(k=i=0;i<n;++i,p[l++]='\n')
for(j=0;j<n;++j)
S(d[i][j]);
fwrite(p,1,l,stdout);
return 0;
}