Pagini recente » Cod sursa (job #663392) | Cod sursa (job #1373706) | Cod sursa (job #1498192) | Cod sursa (job #1250044) | Cod sursa (job #874446)
Cod sursa(job #874446)
#include <iostream>
#include <fstream>
#define inf 0x3f3f3f3f
using namespace std;
int A [ 101 ][ 101 ] , N ;
int main()
{
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f >> N ;
for( int i = 1 ; i <= N ; i++ )
for( int j = 1 ; j <= N ; j++ )
{
f >> A[ i ][ j ] ;
if( A [ i ][ j ] == 0 && i != j )
A[ i ][ j ] = inf ;
}
for( int k= 1 ; k <= N ; k++ )
for( int i = 1 ; i <= N ; i++ )
for( int j = 1 ; j <= N ; j++ )
{
if( A[ i ][ k ] == inf || A[ k ][ j ] == inf )
continue;
if( i == j) continue;
A[ i ][ j ] = min( A[ i ][ j ] , A[ i ][ k ] + A[ k ][ j ] );
}
for( int i = 1 ; i <= N ; i++ )
{
for ( int j = 1; j <= N ; j++)
g << A[ i ][ j ]<<" ";
g <<"\n";
}
return 0;
}