Cod sursa(job #3350131)

Utilizator eric_dragosDragos Eric eric_dragos Data 5 aprilie 2026 19:00:20
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
int a[101][101];
const int INF = 99999;
int main(){
    int n;
    fin >> n;
    for(int i = 1; i<=n; i++){
        for(int j = 1; j<=n; j++){
            fin >> a[i][j];
        }
    }
    for(int k = 1; k<=n; k++){
        for(int i = 1; i<=n; i++){
            for(int j = 1; j<=n; j++){
                if(a[i][k] && a[k][j] && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j) a[i][j] = a[i][k] + a[k][j];
            }
        }
    }
    for(int i = 1; i<=n; i++){
        for(int j = 1; j<=n; j++){
            fout<< a[i][j] << ' ';
        }
        fout << '\n';
    }


    return 0;
}