Pagini recente » Cod sursa (job #2133420) | Cod sursa (job #2326457) | Cod sursa (job #2591833) | Cod sursa (job #1652823) | Cod sursa (job #457496)
Cod sursa(job #457496)
#include <cstdio>
const int NMAX=100;
const int Inf=0x3f3f3f3f;
int N,C[NMAX][NMAX];
inline int min(int x,int y) { return x<y?x:y; }
int main()
{
int i,j,k;
freopen("royfloyd.in","r",stdin);
scanf("%d",&N);
for (i=0;i<N;++i)
for (j=0;j<N;++j)
scanf("%d",&C[i][j]);
for (i=0;i<N;++i)
for (j=0;j<N;++j)
if (i!=j && C[i][j]==0) C[i][j]=Inf;
for (k=0;k<N;++k)
for (i=0;i<N;++i)
for (j=0;j<N;++j)
C[i][j]=min(C[i][j],C[i][k]+C[k][j]);
freopen("royfloyd.out","w",stdout);
for (i=0;i<N;++i)
{
for (j=0;j<N;++j)
printf("%d ",C[i][j]==Inf?0:C[i][j]);
printf("\n");
}
return 0;
}