Cod sursa(job #2123117)

Utilizator liviu2000Dragomirescu Liviu liviu2000 Data 5 februarie 2018 20:21:32
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <bits/stdc++.h>

using namespace std;

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

int main()
{
    int n , i , j , k ;
    int sol[101][101] ;
    fin >> n ;
    for ( i = 1 ; i <= n ; i++ )
        for ( j = 1 ; j <= n ; j++ )
            fin >> sol[i][j] ;
    for ( i = 1 ; i <= n ; i++ )
    {
        for ( j = 1 ; j <= n ; j++ )
        {
            for ( k = 1 ; k <= n ; k++ )
            {
                if ( j != k && sol[i][k] != 0 )
                    sol[j][k] = min(sol[j][k],sol[j][i]+sol[i][k]) ;
            }
        }
    }
    for ( i = 1 ; i <= n ; i++ )
    {
        for ( j = 1 ; j <= n ; j++ )
            fout << sol[i][j] << " " ;
        fout << '\n' ;
    }
}