Cod sursa(job #2919019)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 14 august 2022 20:03:18
Problema Floyd-Warshall/Roy-Floyd Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")

using namespace std;

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

const int INF = 2e9;
const int MAX_N = 105;
int n, rf[MAX_N][MAX_N];

int main (){
    ios_base::sync_with_stdio(false);
    fin.tie(nullptr), fout.tie(nullptr);

    fin>>n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            fin>>rf[i][j];

    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            if(i != j)
                for(int k=1; k<=n; k++)
                    if(rf[i][k] && rf[k][j])
                        if(rf[i][j] > rf[i][k] + rf[k][j] || rf[i][j] == 0)
                            rf[i][j] = rf[i][k] + rf[k][j];

    for(int i=1; i<=n; i++, fout<<"\n")
        for(int j=1; j<=n; j++, fout<<" ")
            fout<<rf[i][j];
    return 0;
}