Cod sursa(job #3157895)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 17 octombrie 2023 11:39:07
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define MAXN 100
#define INF INT_MAX

using namespace std;

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

int main() {
    int n, graph[MAXN][MAXN];
    memset(graph, INT_MAX, MAXN * MAXN * sizeof(int));
    fin >> n;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++)
            fin >> graph[i][j];
    for (int i = 0; i < n; i++)
        graph[i][i] = 0;
    for (int k = 0; k < n; k++)
        for (int i = 0; i < n; i++)
            for (int j = 0; j < n; j++)
                graph[i][j] = min(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] == INT_MAX ? 0 : graph[i][j]) << ' ';
        fout << '\n';
    }
    return 0;
}