Cod sursa(job #1292701)

Utilizator Stefex09Stefan Teodorescu Stefex09 Data 14 decembrie 2014 17:39:49
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

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

const int MAXN = 101;

short A[MAXN][MAXN];

int main()
{
    int N, i, j, k;

    in >> N;
    for (i = 1; i <= N; i ++)
        for (j = 1; j <= N; j ++)
            in >> A[i][j];

    for (k = 1; k <= N; k ++)
        for (i = 1; i <= N; i ++)
            for (j = 1; j <= N; j ++)
                if (i != j && A[i][k] + A[k][j] < A[i][j] && i != k && j != k)
                    A[i][j] = A[i][k] + A[k][j];

    for (i = 1; i <= N; i ++, out << "\n")
        for (j = 1; j <= N; j ++)
            out << A[i][j] << " ";

    return 0;
}