Pagini recente » Cod sursa (job #897125) | Cod sursa (job #951483) | Cod sursa (job #1235179) | Cod sursa (job #1325627) | Cod sursa (job #236632)
Cod sursa(job #236632)
#include <stdio.h>
#define maxn 105
int n, m [maxn] [maxn];
void scan ()
{
scanf ("%d", &n);
for (int i=1; i <= n; ++i)
for (int j=1; j <= n; ++j)
scanf ("%d", &m [i] [j]);
}
void res ()
{
int i, j, k;
for (i=1; i <= n; ++i)
for (j=1; j <= n; ++j)
for (k=1; k <= n; ++k)
if ((i != j) && (m [i] [k]) && (m [k] [j]) && (m [i] [j] > m [i] [k]+m [k] [j] || !m [i] [j]))
m [i] [j]=m [i] [k]+m [k] [j];
}
void print ()
{
for (int i=1; i <= n; ++i)
{
for (int j=1; j <= n; ++j)
printf ("%d ", m [i] [j]);
printf ("\n");
}
}
int main ()
{
freopen ("royfloyd.in", "r", stdin);
freopen ("royfloyd.out", "w", stdout);
scan ();
res ();
print ();
return 0;
}