Pagini recente » Cod sursa (job #2524726) | Cod sursa (job #2093416) | Borderou de evaluare (job #1506502) | Cod sursa (job #1833998) | Cod sursa (job #237160)
Cod sursa(job #237160)
#include <stdio.h>
#define Nmax 128
#define Inf 123456789
int a[Nmax][Nmax], n;
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d", &n);
for (int i=1;i<=n;++i)
for (int j=1;j<=n;++j)
{
scanf("%d", &a[i][j]);
if (a[i][j] == 0) a[i][j] = Inf;
}
for (int k=1;k<=n;++k)
for (int i=1;i<=n;++i) if (i!=k)
for (int j=1;j<=n;++j) if (j!=i && a[i][j] > a[i][k] + a[k][j])
a[i][j] = a[i][k] + a[k][j];
for (int i=1;i<=n;++i,printf("\n"))
for (int j=1;j<=n;++j) if (a[i][j] < Inf) printf("%d ", a[i][j]); else printf("0 ");
return 0;
}