Cod sursa(job #2160280)

Utilizator andreisamoila74Samoila Andrei andreisamoila74 Data 11 martie 2018 12:23:04
Problema Floyd-Warshall/Roy-Floyd Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include    <iostream>
#include    <fstream>

using namespace std;

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

const int NMax=10001;

int n;
int a[NMax][NMax];

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

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

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

}

int main()
{
    read();
    work();
    print();
}