Cod sursa(job #3278727)

Utilizator InformaticianInDevenire1Munteanu Mihnea Gabriel InformaticianInDevenire1 Data 20 februarie 2025 17:12:10
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <bits/stdc++.h>

using namespace std;

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

int mx[105][105];

int main()
{
    int n;
    fin >> n;
    for (int i=1;i<=n;++i){
        for (int j=1;j<=n;++j){
            fin >> mx[i][j];
            if (mx[i][j]==0) mx[i][j] = 100005;
        }
    }
    for (int an=1;an<=n;++an){
        for (int i=1;i<=n;++i){
            for (int j=1;j<=n;++j){
                if (i==j or j==an or i==an) continue;
                mx[i][j] = min(mx[i][j],mx[i][an]+mx[an][j]);
            }
        }
    }
    for (int i=1;i<=n;++i){
        for (int j=1;j<=n;++j){
            if (mx[i][j]==100005) fout << "0 ";
            else fout << mx[i][j] << ' ';
        }
        fout << '\n';
    }
    return 0;
}