Cod sursa(job #2369754)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 6 martie 2019 09:07:27
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <bits/stdc++.h>
#define dim 110
using namespace std;

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");


int n, m, i, j, a[dim][dim], k;
int main()
{
    f >> n;
        for (  i = 1 ; i <= n ; i++ )
            for ( j = 1 ; j <= n ; j++ )
            f >> a[i][j];

    for ( k = 1 ; k <= n ; k++ )
    {
        for ( j = 1 ; j <= n ; j++ )
        {
            for ( i = 1 ; i <= n ; i++ )
            {
                if ( a[i][k] && a[k][j] && ( a[i][j] > a[i][k]+a[k][j] && a[i][j] ) && i != j )
                a[i][j] = a[i][k]+a[k][j];
            }

        }
    }

    for ( i = 1 ; i <= n ; i++ )
    {
        for ( j = 1 ; j <= n ; j++ )
        g << a[i][j] << " ";
        g << "\n";
    }
    return 0;
}