Pagini recente » Cod sursa (job #1037598) | Cod sursa (job #243432) | Diferente pentru implica-te/arhiva-educationala intre reviziile 148 si 147 | Cod sursa (job #2050247) | Cod sursa (job #1650315)
#include <cstdio>
using namespace std;
const int Nmax = 101;
const int oo = 0x3f3f3f3f;
int n, i, j, a[Nmax][Nmax], k;
int main()
{
freopen ("royfloyd.in", "r", stdin);
freopen ("royfloyd.out", "w", stdout);
scanf ("%d", &n);
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
{
scanf ("%d", &a[i][j]);
}
}
for (k=1; k<=n; k++)
{
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
{
if ((a[i][j]>a[i][k]+a[k][j]||a[i][j]==0)&&a[i][k]&&a[k][j]&&i!=j)
{
a[i][j]=a[i][k]+a[k][j];
}
}
}
}
for (i=1; i<=n; i++)
{
for (j=1; j<=n; j++)
{
printf ("%d ", a[i][j]);
}
printf ("\n");
}
}