Cod sursa(job #3325391)

Utilizator pierdcasaPislariu Mario pierdcasa Data 25 noiembrie 2025 13:19:33
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb

#include <bits/stdc++.h>

#define INF 100000000

using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");

vector <vector<int>> dist;

int n,m;

void RoyFloyd(vector<vector<int>> &d)
{
    int V=d.size();
    
    for(int k=0;k<V;++k){
        for(int i=0;i<V;++i){
            for(int j=0;j<V;++j){
                if(d[i][k]!=1e8 && d[k][j]!=1e8)
                    d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
            }
        }
    }
}

int main()
{
    f>>n;
    for(int i=1;i<=n;++i)
    {   vector<int> linie;
        for(int j=1;j<=n;++j)
        {
            int x;
            f>>x;
            linie.push_back(x);
        }
        dist.push_back(linie);
    }
    RoyFloyd(dist);
    for(auto linie:dist)
        {for(auto el:linie)
            {g<<el<<" ";}
            g<<"\n";
        }
    
    return 0;
}