Cod sursa(job #2547534)

Utilizator Alex2421Nedelcu Alexandru Alex2421 Data 15 februarie 2020 13:57:04
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>

using namespace std;

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

int const lim=101;
int n,v[lim][lim];

int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
    for(int j=1;j<=n;j++)
        in>>v[i][j];

    for(int nod=1;nod<=n;nod++)
        for(int i=1;i<=n;i++)
         for(int j=1;j<=n;j++)
         if(i!=j && v[nod][j]!=0 && v[i][nod]!=0)
          if(v[i][j]> v[nod][j]+v[i][nod])
           v[i][j]=v[nod][j]+v[i][nod];

    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
            out<<v[i][j]<<" ";
        out<<'\n';
    }
}