Cod sursa(job #2298090)

Utilizator tiberiu392Tiberiu Ungurianu tiberiu392 Data 7 decembrie 2018 11:43:43
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>

using namespace std;

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

int a[110][110], n, m, i, j, k;

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

    //roy_floyd();
   for ( k = 1 ; k <= n ; k++ )
    {
        for ( i = 1 ; i <= n; i++ )
        {
            for ( j = 1 ;  j <= n ; j++ )
            {
                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;
}