Cod sursa(job #2084456)

Utilizator deleted_fb9d5fb04f7b88d9DELETED deleted_fb9d5fb04f7b88d9 Data 9 decembrie 2017 09:45:51
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#define INF 5000000
using namespace std;
ifstream fin ("royfloyd.in");
ofstream fout ("royfloyd.out");

int a[101][101];

int main() {
    int n, i, j, k, x;

    fin >> n;

    for (i = 1; i <= n; ++i)
        for (j = 1; j <= n; ++j) {
            fin >> x;
            if (x == 0) a[i][j] = INF;
            else a[i][j] = x;
        }

    for (k = 1; k <= n; ++k)
        for (i = 1; i <= n; ++i)
            for (j = 1; j <= n; ++j)
                if (a[i][j] > a[i][k] + a[k][j])
                    a[i][j] = a[i][k] + a[k][j];

    for (i = 1; i <= n; ++i) {
        for (j = 1; j <= n; ++j)
            if (i != j) fout << a[i][j] << ' ';
            else fout << 0 << ' ';
        fout << '\n';
    }

    return 0;
}