Cod sursa(job #2283360)

Utilizator NairBalanica Ciprian Nair Data 15 noiembrie 2018 14:32:54
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#define FOR(a,b) for(a = 0; a < b; a++)
#define NMAX 100

using namespace std;

int main()
{
    int n, i, j, k, C[NMAX][NMAX];
    ifstream f("royfloyd.in");
    f >> n;
    FOR(i,n)
        FOR(j,n)
            f >> C[i][j];
    f.close();

    FOR(k,n)
        if(k != i && k != j)
            if(C[i][j] > C[i][k] + C[k][j])
                C[i][j] > C[i][k] + C[k][j];

    FOR(k,n)
        FOR(i,n)
            FOR(j,n)
                if(C[i][j] > C[i][k] + C[k][j])
                    C[i][j] = C[i][k] + C[k][j];
    ofstream g("royfloyd.out");
    FOR(i,n)
    {
        FOR(j,n)
            g << C[i][j] << ' ';
        g << '\n';
    }
    g.close();
    return 0;
}