Pagini recente » Cod sursa (job #2535725) | Cod sursa (job #1281026) | Cod sursa (job #1903303) | Cod sursa (job #2888634) | Cod sursa (job #236630)
Cod sursa(job #236630)
#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]);
}
inline int min (int a, int b)
{
return (a < b)? a : b;
}
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 (m [i] [k] && m [k] [j])
m [i] [j]=min (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;
}