Pagini recente » Cod sursa (job #645367) | Cod sursa (job #2537455) | Cod sursa (job #2748803) | Cod sursa (job #927599) | Cod sursa (job #689456)
Cod sursa(job #689456)
#include <cstdio>
using namespace std;
#define maxN 105
int N , a[maxN][maxN];
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]);
for (int k = 1 ; k <= N ; ++k)
for (int i = 1 ; i <= N ; ++i)
for (int j = 1 ; j <= N ; ++j)
{
if (i == j || k == i || k == j) continue;
if (a[i][k] == 0 || a[k][j] == 0) continue;
if (a[i][k] + a[k][j] < a[i][j])
a[i][j] = a[i][k] + a[k][j];
}
for (int i = 1 ; i <= N ; ++i)
{
for (int j = 1 ; j <= N ; ++j)
printf ("%d " , a[i][j]);
printf ("\n");
}
return 0;
}