Pagini recente » Cod sursa (job #1025364) | Cod sursa (job #1496004) | Cod sursa (job #1916828) | Cod sursa (job #2408784) | Cod sursa (job #3145526)
#include <fstream>
using namespace std;
ifstream cin ("royfloyd.in");
ofstream cout ("royfloyd.out");
int cost[101][101];
int main ()
{
int noduri;
cin >> noduri;
for (int linie = 1 ; linie <= noduri ; linie++)
for (int coloana = 1 ; coloana <= noduri ; coloana++)
{ cin >> cost[linie][coloana]; if (!cost[linie][coloana]) cost[linie][coloana] = 1e9; }
for (int intermediar = 1 ; intermediar <= noduri ; intermediar++)
for (int nod_1 = 1 ; nod_1 <= noduri ; nod_1++)
for (int nod_2 = 1 ; nod_2 <= noduri ; nod_2++)
if (nod_1 != nod_2) cost[nod_1][nod_2] = min(cost[nod_1][nod_2] , cost[nod_1][intermediar] + cost[intermediar][nod_2]);
for (int linie = 1 ; linie <= noduri ; linie++) {
for (int coloana = 1 ; coloana <= noduri ; coloana++)
cout << (cost[linie][coloana] == 1e9 ? 0 : cost[linie][coloana]) << ' ';
cout << '\n';
}
cout.close(); cin.close();
return 0;
}