Cod sursa(job #2951772)

Utilizator misu_LIXulescu Vasile misu_L Data 7 decembrie 2022 11:24:14
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 kb
#include <fstream>

using namespace std;

ifstream cin ("royfloyd.in");
ofstream cout ("royfloyd.out");

int n;
int adiac[103][103];

int main()
{
    cin >> n;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++)
            cin >> adiac[i][j];
    }

    for (int k = 1; k <= n; k++) {
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                if (adiac[i][k] && adiac[k][j] && (adiac[i][k] + adiac[k][j] < adiac[i][j] || adiac[i][j] == 0) && i != j) {
                    adiac[i][j] = adiac[i][k] + adiac[k][j];
                }
            }
        }
    }

    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
                cout << adiac[i][j] << " ";
        cout << endl;
    }

    return 0;
}