Cod sursa(job #2172900)

Utilizator Alexandru_IulianAlexandru Iulian Alexandru_Iulian Data 15 martie 2018 18:48:29
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>
#define in "royfloyd.in"
#define out "royfloyd.out"
#define NMAX 105
using namespace std;

ifstream f(in);
ofstream g(out);

int n,a[NMAX][NMAX],urm[NMAX][NMAX];

void load()
{
    int i,j;
    f >> n;
    for( i=1; i <= n; i++)
        for( j=1; j <= n; j++)
        f >> a[i][j];
}

void royfloyd()
{
    int i,j,k;
    for (k=1; k <=n; k++)
        for(i=1; i <= n; i++)
        for(j=1; j <= n; j++)
    {
        if ( a[i][j] > a[i][k] + a[k][j])
            a[i][j] = a[i][k] + a[k][j];
            urm[i][j]=urm[i][k];
    }
}

int main()
{
    int i,j;
    load();
    royfloyd();

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

    return 0;
}