Cod sursa(job #2701636)

Utilizator beingsebiPopa Sebastian beingsebi Data 31 ianuarie 2021 21:28:29
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
// #define f cin
// #define g cout
int n, m, v[102][102], rez[102][102];
int main()
{
    ios_base::sync_with_stdio(false);
    f.tie(nullptr);
    g.tie(nullptr);
    f >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            f >> v[i][j];
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            for (int y = 1; y <= n; y++)
                if (v[j][i] && v[i][y])
                    if (!v[j][y] || v[j][y] > v[j][i] + v[i][y])
                        v[j][y] = v[j][i] + v[i][y];
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            g << (i == j ? 0 : v[i][j]) << " \n"[j == n];
    return 0;
}