Cod sursa(job #2407620)

Utilizator SmokeCiocotisan Cosmin Smoke Data 17 aprilie 2019 07:57:01
Problema Floyd-Warshall/Roy-Floyd Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define minim(a,b) ((a) < (b) ? a : b)

using namespace std;

const int maxi =110;

long n  , v[maxi][maxi];




int main(void)
{
    ifstream in("royfloyd.in");
    ofstream out("royfloyd.out");

    in>>n;

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

    for(int k = 1 ; k <= n ;k++)
        for(int i =1 ; i<=n ;i++)
            for(int j = 1 ; j <= n ; j++)
                  if(i != j && ( v[i][k] + v[k][j] < v[i][j] || !v[i][j]) && v[i][k] && v[k][j] )
                            v[i][j] = v[i][k] + v[k][j];


   for(int  x = 1 ; x <=n ;x++)
   {
        for(int y = 1 ; y <= n ;y++)
            cout<<v[x][y]<<" ";

        cout<<'\n';

   }


}