Cod sursa(job #2812167)

Utilizator Casian_doispeChiriac Casian Casian_doispe Data 4 decembrie 2021 09:47:05
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <fstream>
#include <climits>

using namespace std;

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

long long n, m[109][109], c[109][109], d[109][109] ;

int main()
{
    cin >> n ;

    for(int f = 1 ; f <= n ; f ++)
        for(int e = 1 ; e <= n ; e ++)
        {
            cin >> c[f][e] ;

            if(f != e && c[f][e] == 0)
                c[f][e] = INT_MAX / 2 ;

        }

    for(int k = 1 ; k <= n ; k ++)
        for(int f = 1 ; f <= n ; f ++)
            for(int e = 1 ; e <= n ; e ++)
                if(c[f][k] + c[k][e] < c[f][e])
                {
                    c[f][e] = c[f][k] + c[k][e] ;

                    d[f][e] = d[f][k] ;
                }

    for(int f = 1 ; f <= n ; f ++)
    {
        for(int e = 1 ; e <= n ; e ++)
            cout << c[f][e] << " " ;

        cout << '\n' ;
    }

    return 0;
}