Pagini recente » Cod sursa (job #1755755) | Cod sursa (job #1279786) | Cod sursa (job #844618) | Cod sursa (job #1366981) | Cod sursa (job #252153)
Cod sursa(job #252153)
#include <stdio.h>
const int NMAX=110;
int min(int x, int y);
int main()
{
int a[NMAX][NMAX], b[NMAX][NMAX], i, j, k, n;
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &n);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
{
scanf("%d", &a[i][j]);
b[i][j]=a[i][j];
}//for j
for (k=0; k<n; k++)
for (i=0; i<n; i++)
for (j=0; j<n; j++)
if ((i!=j)&& b[i][k] && b[k][j])
{
if (!b[i][j])
b[i][j]=b[i][k]+b[k][j];
else
b[i][j]=min(b[i][j], b[i][k]+b[k][j]);
}//if
for (i=0; i<n; i++)
{
for (j=0; j<n; j++)
printf("%d ", b[i][j]);
printf("\n");
}//for i
return 0;
}//main
int min(int x, int y)
{
if (x<y)
return x;
else
return y;
}//min