Pagini recente » Cod sursa (job #2390990) | Cod sursa (job #2364262) | Cod sursa (job #1945877) | Cod sursa (job #353882) | Cod sursa (job #2692831)
#include <fstream>
#include <climits>
using namespace std;
ifstream fin( "royfloyd.in" );
ofstream fout( "royfloyd.out" );
const int nMax = 100;
int v[nMax][nMax];
int main() {
int n;
fin >> n;
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ ) {
fin >> v[ i ][ j ];
if ( v[ i ][ j ] == 0 && i != j )
v[ i ][ j ] = INT_MAX;
}
}
for ( int k = 0; k < n; k++ ) {
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ ) {
if ( v[ i ][ k ] + v[ k ][ j ] < v[ i ][ j ] )
v[ i ][ j ] = v[ i ][ k ] + v[ k ][ j ];
}
}
}
for ( int i = 0; i < n; i++ ) {
for ( int j = 0; j < n; j++ ) {
if ( v[ i ][ j ] != INT_MAX )
fout << v[ i ][ j ] << " ";
else
fout << "0 ";
}
fout << '\n';
}
fin.close();
fout.close();
return 0;
}