Pagini recente » Cod sursa (job #65005) | Cod sursa (job #1513312) | Statistici Botezat Catalin (Catalin007) | Cod sursa (job #1570296) | Cod sursa (job #1211406)
#include <cstdio>
#define rint register int
const char IN [ ] = "royfloyd.in";
const char OUT [ ] = "royfloyd.out";
const int MAX = 114;
using namespace std;
int mat[MAX][MAX];
int main()
{
int n;
freopen( IN , "r" , stdin );
freopen( OUT , "w" , stdout );
scanf("%d",&n);
for( rint i = 1 ; i <= n ; ++ i )
for( rint j = 1 ; j <= n ; ++ j )
scanf("%d",&mat[i][j]);
for( rint k = 1 ; k <= n ; ++ k )
for( rint i = 1 ; i <= n ; ++ i )
for( rint j = 1 ; j <= n ; ++ j )
if( mat[i][k] and mat[k][j] and i!=j and ( mat[i][j]>mat[i][k]+mat[k][j] or !mat[i][j] ) )
mat[i][j] = mat[i][k] + mat[k][j] ;
for( rint i = 1 ; i <= n ; ++ i , printf("\n") )
for( rint j = 1 ; j <= n ; ++ j )
printf("%d ",mat[i][j]);
return 0;
}