Cod sursa(job #3145526)

Utilizator SSKMFSS KMF SSKMF Data 16 august 2023 08:54:05
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#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;
}