Pagini recente » Cod sursa (job #1511722) | Cod sursa (job #2845288) | Cod sursa (job #2940545) | Cod sursa (job #3121872) | Cod sursa (job #2202575)
#include <fstream>
#define NMAX 101
using namespace std;
ifstream f ("royfloyd.in");
ofstream g ("royfloyd.out");
int n, v[ NMAX ][ NMAX ];
void citire()
{
f >> n;
for( int i = 1; i <= n; i ++ )
for( int j = 1; j <= n; j ++ )
f >> v[ i ][ j ];
}
void roy_floyd_puternic()
{
for( int z = 1; z <= n; z ++ )
for( int i = 1; i <= n; i ++ )
for( int j = 1; j <= n; j ++ )
if( v[ i ][ z ] && v[ z ][ j ] && ( v[ i ][ z ] + v[ z ][ j ] < v[ i ][ j ] || !v[ i ][ j ] ) && ( i != j ) ) v[ i ][ j ] = v [ i ][ z ] + v[ z ][ j ];
}
void afisare()
{
for( int i = 1; i <= n; i ++ )
{
for( int j = 1; j <= n; j ++ )
g << v[ i ][ j ] << " ";
g << "\n";
}
}
int main()
{
citire();
roy_floyd_puternic();
afisare();
}