Cod sursa(job #2276846)

Utilizator SemetgTemes George Semetg Data 5 noiembrie 2018 15:27:42
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
using namespace std;

ifstream cin{"royfloyd.in"};
ofstream cout{"royfloyd.out"};

int n, a[105][105];

void citeste() {
    cin >> n;

    for (int i = 1; i <= n; ++i)
        for (int j = 1; j <= n; ++j)
            cin >> a[i][j];
}

void Roy_Floyd() {
    for (int mij = 1; mij <= n; ++mij)
        for (int stg = 1; stg <= n; ++stg)
            for (int drp = 1; drp <= n; ++drp)
                if (a[stg][mij] + a[mij][drp] < a[stg][drp])
                    a[stg][drp] = a[stg][mij] + a[mij][drp];
}

void afiseaza() {
    for (int i = 1; i <= n; ++i, cout << '\n')
        for (int j = 1; j <= n; ++j, cout << ' ')
            cout << a[i][j];
}

int main()
{
    citeste();
    Roy_Floyd();
    afiseaza();
}