Cod sursa(job #2659301)

Utilizator KPP17Popescu Paul KPP17 Data 16 octombrie 2020 15:11:47
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#define fisier "royfloyd"
#include <fstream>
std::ifstream in(fisier ".in");
std::ofstream out(fisier ".out");
const int N = 100;
int C[N][N];
int main()
{
    int n;
    in >> n;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            in >> C[i][j];
    for (int m = 0; m < n; m++)
        for (int p = 0; p < n; p++)
            for (int u = 0; u < n; u++)
                if (p != m && m != u && p != u && C[p][m] && C[m][u])
                    if (!C[p][u] || C[p][m] + C[m][u] < C[p][u])
                        C[p][u] = C[p][m] + C[m][u];
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            out << C[i][j] << ' ';
        out << '\n'; }
}