Pagini recente » Cod sursa (job #1572378) | Cod sursa (job #1487576) | Cod sursa (job #936924) | Cod sursa (job #2916093) | Cod sursa (job #3274214)
#include <fstream>
#include <algorithm>
using namespace std;
int dist[100][100];
const int INF = 2e9;
int main()
{
int n, i, j, k;
ifstream cin ( "royfloyd.in");
ofstream cout ( "royfloyd.out" );
cin >> n;
for ( i = 0; i < n; i ++ )
for ( j = 0; j < n; j ++ ) {
cin >> dist[i][j];
if ( dist[i][j] == 0 && j != i )
dist[i][j] = INF;
}
cin.close();
for ( i = 0; i < n; i ++ )
for ( j = 0; j < n; j ++ )
for ( k = 0; k < n; k ++ )
dist[j][k] = min( dist[j][k], dist[j][i] + dist[i][k]);
for ( i = 0; i < n; i ++ ) {
for ( j = 0; j < n; j ++ )
if ( dist[i][j] != 0 || i == j)
cout << dist[i][j] << " ";
else
cout << 0 << " ";
cout << "\n";
}
cout.close();
return 0;
}