Pagini recente » Cod sursa (job #1578063) | Cod sursa (job #426752) | Cod sursa (job #2371591) | Cod sursa (job #1275033) | Cod sursa (job #165215)
Cod sursa(job #165215)
#include <stdio.h>
#define inf 2147000000
int c[110][110];
int n,i,j,k;
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d ",&n);
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
scanf("%d",&c[i][j]);
if (c[i][j]==0 && i!=j) c[i][j]=inf;
}
for (k=1; k<=n; k++)
for (i=1; i<=n; i++)
if (i!=k)
for (j=1; j<=n; j++)
if (j!=k && j!=i && c[i][k]!=0 && c[k][j]!=0)
if (c[i][k]+c[k][j]<c[i][j]) c[i][j]=c[i][k]+c[k][j];
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
if (c[i][j]!=inf) printf("%d ",c[i][j]);
else printf("0 ");
printf("\n");
}
return 0;
}