Pagini recente » Cod sursa (job #453192) | Cod sursa (job #2902854) | Cod sursa (job #2981284) | Cod sursa (job #594450) | Cod sursa (job #1502869)
#include <cstdio>
#include <iomanip>
using namespace std;
FILE *f = fopen ( "royfloyd.in" , "r" ) , *g = fopen ( "royfloyd.out" , "w" );
const int MAX = 101;
int i , j , k , N , cost[MAX][MAX];
void read()
{
fscanf ( f , "%d" , &N );
for ( i = 1; i <= N ; i ++ )
for ( j = 1; j <= N ; j ++ )
fscanf ( f , "%d" , &cost [ i ] [ j ] );
}
void solve()
{
for ( i = 1; i <= N ; i ++ )
for ( j = 1; j <= N ; j ++ )
for ( k = 1; k <= N ; k ++ )
if ( cost [ k ] [ j ] )
cost [ i ] [ j ] = min ( cost [ i ] [ j ] , cost [ i ] [ k ] + cost [ k ] [ j ] );
}
void print()
{
for ( i = 1; i <= N ; i ++ )
{
for ( j = 1; j <= N ; j ++ )
fprintf ( g , "%d " , cost [ i ] [ j ] );
fprintf ( g , "\n" );
}
}
int main()
{
read();
solve();
print();
return 0;
}