Pagini recente » Cod sursa (job #352392) | Cod sursa (job #1547982) | Cod sursa (job #1274867) | Cod sursa (job #1777163) | Cod sursa (job #780008)
Cod sursa(job #780008)
#include <stdio.h>
#define oo 0x3f3f3f3f
#define NMax 110
const char IN[]="royfloyd.in",OUT[]="royfloyd.out";
int N;
int A[NMax][NMax];
int main()
{
int i,j,k;
freopen(IN,"r",stdin);
scanf("%d",&N);
for (i=1;i<=N;++i)
for (j=1;j<=N;++j)
scanf("%d",&A[i][j]),
A[i][j]+= i!=j && !A[i][j] ? oo : 0;
fclose(stdin);
for (k=1;k<=N;++k)
for (i=1;i<=N;++i) if (i!=k)
for (j=1;j<=N;++j) if (i!=j && j!=k && A[i][k]+A[k][j]<=A[i][j])
A[i][j]=A[i][k]+A[k][j];
freopen(OUT,"w",stdout);
for (i=1;i<=N;++i,printf("\n")) for (j=1;j<=N;++j) printf("%d ",A[i][j]==oo ? 0 : A[i][j]);
fclose(stdout);
return 0;
}