Cod sursa(job #2988192)

Utilizator TheLostRevolverCalin Andrei TheLostRevolver Data 3 martie 2023 19:35:21
Problema Floyd-Warshall/Roy-Floyd Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <climits>

using namespace std;

int v[101][101];

int main() {
    int n, m;
    ifstream fin("royfloyd.in");
    ofstream fout("royfloyd.out");
    fin >> n;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            fin >> v[i][j];
            if (v[i][j] == 0 && i != j)
                v[i][j] = INT_MAX;
        }
    }

    for (int mid = 1; mid <= n; mid++) {
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                v[i][j] = min(v[i][j], v[i][mid] + v[mid][j]);
            }
        }
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            if (v[i][j] < INT_MAX)
                fout << v[i][j] << ' ';
            else
                fout << "0 ";
        }
        fout << '\n';
    }

    fin.close();
    fout.close();
    return 0;
}