Pagini recente » Cod sursa (job #2901525) | Cod sursa (job #2687357) | Cod sursa (job #3129460) | Cod sursa (job #72234) | Cod sursa (job #2575134)
#include <iostream>
#include <fstream>
#define inf ( (1<<30) - 1 )
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");
int n, m, i, k, j, a[ 105 ][ 105 ], x, y, c;
int main()
{
fin>> n;
for ( i = 1; i <= n; i++ )
{
for ( j = 1; j <= n; j++ )
{
fin >> a[ i ][ j ];
if ( a[ i ][ j ] == 0 )
a[ i ][ j ] = inf;
}
}
for ( k = 1; k <= n; k++ )
{
for ( i = 1; i <= n; i++ )
{
for ( j = 1; j <= n; j++ )
{
if ( a[ i ][ j ] > a[ i ][ k ] + a[ k ][ j ] && i != j )
a[ i ][ j ] = a[ i ][ k ] + a[ k ][ j ];
}
}
}
for ( i = 1; i <= n; i++ )
{
for ( j = 1; j <= n; j++ )
{
if ( a[ i ][ j ] < inf )
fout<< a[ i ][ j ] << ' ';
else
fout << 0 << ' ';
}
fout<< '\n';
}
}