Pagini recente » Istoria paginii runda/cdib_8910 | Cod sursa (job #602884) | Cod sursa (job #2704933) | Cod sursa (job #1442541) | Cod sursa (job #1706450)
#include <cstdio>
using namespace std;
int mat[101][101];
int main()
{
freopen( "royfloyd.in", "r", stdin );
freopen( "royfloyd.out", "w",stdout );
int n, m, i, x, y, z;
scanf( "%d", &n);
for( x=1; x<=n; ++x )
for( y=1; y<=n; ++y )
{
scanf( "%d", &mat[x][y] );
if( mat[x][y]==0 )mat[x][y]=0x3f3f3f;
}
for( i=1; i<=n; ++i )
for( x=1; x<=n; ++x )
for( y=1; y<=n; ++y )
if( x!=y && x!=i && i!=y && mat[x][i]+mat[i][y]<mat[x][y] )
mat[x][y]=mat[x][i]+mat[i][y];
for( x=1; x<=n; ++x, printf("\n") )
for( y=1; y<=n; ++y )
if( mat[x][y]==0x3f3f3f )printf( "0 " );
else printf( "%d ", mat[x][y] );
return 0;
}