Pagini recente » Cod sursa (job #2983997) | Cod sursa (job #1981250) | Cod sursa (job #383716) | Cod sursa (job #866310) | Cod sursa (job #1770450)
#include <cstdio>
#include <algorithm>
using namespace std;
int dist[128][128];
int main ()
{
freopen ("royfloyd.in", "r", stdin);
freopen ("royfloyd.out", "w", stdout);
int n;
scanf ("%d", &n);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
{
scanf ("%d", &dist[i][j]);
if (!dist[i][j]) dist[i][j] = 1000000000;
}
for (int h = 1; h <= n; ++h)
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
if (i != j) dist[i][j] = min (dist[i][j], dist[i][h] + dist[h][j]);
for (int i = 1; i <= n; ++i, printf ("\n"))
for (int j = 1; j <= n; ++j)
printf ("%d ", ((dist[i][j] == 1000000000) ? 0 : dist[i][j]));
return 0;
}