Pagini recente » Cod sursa (job #3195111) | Cod sursa (job #2210150) | Cod sursa (job #2305936) | Cod sursa (job #454926) | Cod sursa (job #1507532)
# include <cstdio>
# define NMAX 101
# define INF 2*1e9
using namespace std;
FILE *f=freopen("royfloyd.in","r",stdin);
FILE *g=freopen("royfloyd.out","w",stdout);
int n;
int v[NMAX][NMAX];
void read()
{
scanf("%d",&n);
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
scanf("%d",&v[i][j]);
if (i!=j && !v[i][j]) v[i][j]=INF;
}
}
}
void royfloyd()
{
for (int k=1;k<=n;k++)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
if (v[i][j]>v[i][k]+v[k][j])
{
v[i][j]=v[i][k]+v[k][j];
}
}
}
}
}
void write()
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
{
printf("%d ",v[i][j]);
}
printf("\n");
}
}
int main()
{
read();
royfloyd();
write();
return 0;
}