Cod sursa(job #2543272)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 10 februarie 2020 23:18:04
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, v[105][105];

int main (){
     fin>>n;
     for(int i=1; i<=n; i++)
          for(int j=1; j<=n; j++)
               fin>>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[i][nod] != 0
                       &&
                       v[nod][j] != 0
                       &&
                       (
                        v[i][j] > v[i][nod] + v[nod][j]
                        ||
                        v[i][j] == 0
                        )
                       )
                         v[i][j]=v[i][nod] + v[nod][j];

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