Cod sursa(job #3030416)

Utilizator roxana13.Ghitan Roxana roxana13. Data 17 martie 2023 17:38:01
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <fstream>

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");


int  n, m, k, N, maxx;
int a[105][105];


int main()
{
    f >> n;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++) {
            f >> a[i][j];
        }

    for (int k = 1; k <= n; k++)
    {
        for (int i = 1; i <= n; i++)
            for (int j = 1; j <= n; j++)
                if (a[i][k] != 0 && a[k][j] != 0) {
                    if (a[i][j] != 0)
                        a[i][j] = min(a[i][j], a[i][k] + a[k][j]);
                    else if (i != j) a[i][j] = a[i][k] + a[k][j];
                }
    }
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++)
            g << a[i][j] << ' ';
        g << '\n';
    }
    return 0;
}