Cod sursa(job #3157900)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 17 octombrie 2023 11:47:56
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
#define MAXN 105

using namespace std;

ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

int n, graph[MAXN][MAXN];

int main() {
    fin >> n;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            fin >> graph[i][j];
    for (int k = 0; k < n; k++)
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++) {
                if (i != j && graph[i][k] && graph[k][j] && (
                        graph[i][k] + graph[k][j] < graph[i][j] || !graph[i][j]
                        ))
                    graph[i][j] = graph[i][k] + graph[k][j];
            }
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < n; j++)
            fout << graph[i][j] << ' ';
        fout << '\n';
    }
    return 0;
}