Cod sursa(job #2425763)

Utilizator ifrimencoAlexandru Ifrimenco ifrimenco Data 25 mai 2019 00:51:08
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int v[100][100];


int main()
{
    int n, i, j;
    fin >> n;
    for (i = 0; i < n; ++i) {
        for (j = 0; j < n; ++j)
            fin >> v[i][j];
    }
    int k;
    for (k = 0; k < n; ++k)
        for (i = 0; i < n; ++i)
            for (j = 0; j < n; ++j) {
                if (v[i][k] && v[k][j] && i != j && (v[i][k] + v[k][j] < v[i][j] || !v[i][j]))
                        v[i][j] = v[i][k] + v[k][j];

    }

    for (i = 0; i < n; ++i) {
        for (j = 0; j < n; ++j)
            fout << v[i][j] << " ";
        fout << '\n';
    }
    return 0;
}