Pagini recente » Cod sursa (job #908126) | Cod sursa (job #3138333) | Cod sursa (job #2450681) | Cod sursa (job #2849193) | Cod sursa (job #2347779)
#include<cstdio>
const int M=2000000;
int d[101][101];
char n,i,j,k,p[M];
int A()
{
int s=0;
for(i++;p[i]>='0'&&p[i]<='9';i++)
s=s*10+p[i]-'0';
return s;
}
void S(int b,char c)
{
char e[100];
int j;
for(j=0;b;b/=10,j++)
e[j]=b%10+48;
for(j--;j>=0;j--)
p[k++]=e[j];
p[k++]=c;
}
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(i=0;i<n;i++)
{
for(j=0;j<n-1;j++)
S(d[i][j],' ');
S(d[i][n-1],'\n');
}
fwrite(p,1,k,stdout);
}