Cod sursa(job #2573925)

Utilizator Vlad_NituNitu Vlad-Petru Vlad_Nitu Data 5 martie 2020 19:28:25
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("royfloyd.in") ;
ofstream g ("royfloyd.out") ;
int N , a[105][105] ;
int main()
{
    f >> N ;
    for (int i = 1 ; i <= N ; ++i)
    for (int j = 1 ; j <= N ; ++j)
        f >> a[i][j] ;

    for (int k = 1 ; k <= N ; ++k)
        for (int i = 1 ; i <= N ; ++i)
            for (int j = 1 ; j <= N ; ++j)
                if (a[i][k] && a[k][j] && i != j && (a[i][j] > a[i][k] + a[k][j] || a[i][j] == 0) )
                    a[i][j] = a[i][k] + a[k][j];

    for (int i = 1; i <= N ; ++i)
    {
        for (int j = 1; j <= N ; ++j) g << a[i][j] << ' ';
        g << '\n';
    }
    f.close();
    g.close();
    return 0 ;

}