Pagini recente » Cod sursa (job #2816915) | Cod sursa (job #1107361) | Cod sursa (job #1057096) | Cod sursa (job #2845610) | Cod sursa (job #700391)
Cod sursa(job #700391)
#include<fstream>
#include<cstdio>
using namespace std;
const int MaxN = 101;
const char InFile[] = "royfloyd.in";
const char OutFile[] = "royfloyd.out";
int N,d[MaxN][MaxN];
int main()
{
freopen( InFile , "r" , stdin );
freopen( OutFile , "w" , stdout );
scanf("%d" , &N );
int i,j,k;
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
scanf("%d" , &d[i][j] );
for( k = 1 ; k <= N ; k++ )
for( i = 1 ; i <= N ; i++ )
for( j = 1 ; j <= N ; j++ )
if( i != j && d[i][k] != 0 && d[k][j] != 0 && ( d[i][j] == 0 || d[i][j] > d[i][k] + d[k][j]) )
d[i][j] = d[i][k] + d[k][j];
for( i = 1 ; i <= N ; i++ )
{
for( j = 1 ; j < N ; j++ )
printf("%d " , d[i][j] );
printf("%d\n" , d[i][N] );
}
return 0;
}