Cod sursa(job #2283366)

Utilizator alexge50alexX AleX alexge50 Data 15 noiembrie 2018 14:39:42
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <fstream>
#include <array>

const int MAX_N = 100;
using Matrix = std::array<std::array<int, MAX_N>, MAX_N>;

int main()
{
    std::ifstream fin("royfloyd.in");
    int n;
    Matrix distances;

    fin >> n;
    for(int i = 0; i < n; i++)
        for(int j = 0; j < n; j++)
            fin >> distances[i][j];


    for(int k = 0; k < n; k++)
        for(int i = 0; i < n; i ++)
            for(int j = 0; j < n; j++)
                distances[i][j] = std::min(distances[i][j], distances[i][k] + distances[k][j]);

    std::ofstream fout("royfloyd.out");
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < n; j++)
            fout << distances[i][j] << ' ';
        fout << '\n';
    }


    return 0;
}