Pagini recente » Cod sursa (job #548169) | Cod sursa (job #497423) | Cod sursa (job #258199) | Cod sursa (job #2382429) | Cod sursa (job #1533910)
#include <cstdio>
using namespace std;
int v[101][101],v2[101][101];
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n,k;
scanf("%d ",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
{
scanf("%d ",&v[i][j]);
if (v[i][j]==0) v[i][j]=200000000;
}
for (int k=1;k<=n;k++)
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++)
if (i!=k && j!=k && v[i][k]+v[k][j]<v[i][j])
if (v[i][k]>0 && v[k][j]>0)
v[i][j]=v[i][k]+v[k][j];
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
if (i==j) printf("0 ");
else printf("%d ",v[i][j]);
printf("\n");
}
}