Pagini recente » Cod sursa (job #468981) | Cod sursa (job #2548870) | Cod sursa (job #159444) | Cod sursa (job #3247400) | Cod sursa (job #1018813)
#include <cstdio>
const int Q=100;
int v[Q+5][Q+4];
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
{
scanf("%d",&v[i][j]);
}
for( int k=1; k<=n ; k++)
for(int i=1; i<=n ; i++)
for( int j=1; j<=n; j++)
{
if(v[i][k] && v[k][j] && j!=i && (v[i][j]==0 || v[i][k]+v[k][j]<v[i][j]) )
v[i][j]=v[i][k]+v[k][j];
}
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
printf("%d ",v[i][j]);
}
printf("\n");
}
return 0;
}