Cod sursa(job #3274140)

Utilizator StefanRaresStefan Rares StefanRares Data 5 februarie 2025 15:06:14
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int n, D[101][101];
int main()
{
    int i, j, k;
    f >> n;
    for(i = 1; i <= n; i++)
        for(j = 1; j <= n; j++)
            f >> D[i][j];
    for(k = 1; k <= n; k++)
        for(i = 1; i <= n; i++)
            for(j = 1; j <= n; j++)
                if(i != j && D[i][k] && D[k][j] && (D[i][k] + D[k][j] < D[i][j] || !D[i][j])) D[i][j] = D[i][k] + D[k][j];
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= n; j++)
            g << D[i][j] << ' ';
        g << '\n';
    }
    f.close();
    g.close();
    return 0;
}