Cod sursa(job #2499812)

Utilizator Razvan25Leanca Razvan Razvan25 Data 26 noiembrie 2019 19:33:41
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

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

int N, a[101][101], i, j, k;

int main()
{
    fin >> N;
    for (i = 1; i <= N; i ++)
        for (j = 1; j <= N; j ++)
            fin >> a[i][j];
    for (k = 1; k <= N; k ++)
        for (i = 1; i <= N; i ++)
            for (j = 1; j <= N; j ++){
                if (a[i][k] != 0 && a[k][j] != 0 && (a[i][j] > a[i][k] + a[k][j] || a[i][j] == 0) && i != j)
                    a[i][j] = a[i][k] + a[k][j];
        }
    for (i = 1; i <= N; i ++){
        for (j = 1; j <= N; j ++)
            fout << a[i][j] << " ";
        fout << endl;
    }
    return 0;
}