Cod sursa(job #2194596)

Utilizator mihailrazMihail Turcan mihailraz Data 13 aprilie 2018 20:11:56
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>
#define NMAX 100

using namespace std;
ifstream fi("royfloyd.in");
ofstream fo("royfloyd.out");
int n;
int C[NMAX+5][NMAX+5];

void citire(void)
{
    fi>>n;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            fi>>C[i][j];
}

void royfloyd(void)
{
    for(int k=1; k<=n; k++)
        for(int i=1; i<=n; i++)
            for(int j=1; j<=n; j++)
                C[i][j]=min(C[i][j], C[i][k]+C[k][j]);
}

void afisare(void)
{
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n; j++)
            fo<<C[i][j]<<" ";
        fo<<"\n";
    }
}

int main()
{
    citire();
    royfloyd();
    afisare();
    fi.close();
    fo.close();
    return 0;
}