Cod sursa(job #2151701)

Utilizator KemyKoTeo Virghi KemyKo Data 4 martie 2018 19:38:33
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <iostream>
#include <fstream>
#define NMAX 101

using namespace std;

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

int c[NMAX][NMAX], n, i, j, k;

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

    for(k=1;k<=n;++k)
        for(i=1;i<=n;++i)
            for(j=1;j<=n;++j)
                if(c[i][k] && c[k][j] && i!=j){
                    if(c[i][j])c[i][j] = min(c[i][j], c[i][k] + c[k][j]);
                    else c[i][j] = c[i][k] + c[k][j];
                }

    for(i=1;i<=n;++i){
        for(j=1;j<=n;++j)
            g<<c[i][j]<<' ';
        g<<'\n';
    }

    return 0;
}