Cod sursa(job #2834112)

Utilizator lucidanescu28Danescu Lucian lucidanescu28 Data 16 ianuarie 2022 14:47:46
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;

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

const int DIM = 101;

int n, i, j, k, w[DIM][DIM];
int main()
{
    f >> n;

    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= n; j++)
            f >> w[i][j];
    
    for (k = 1; k <= n; k++)
        for (i = 1; i <= n; i++)
            for (j = 1; j <= n; j++)
                if (w[i][k] && w[k][j] && (w[i][k] + w[k][j] < w[i][j] || !w[i][j]) && i != j)
                    w[i][j] = w[i][k] + w[k][j];
    
    for (i = 1; i <= n ; i++)
    {
        for (j = 1; j <= n; j++)
            g << w[i][j] << " ";
        g << "\n";
    }
}