Cod sursa(job #2254481)

Utilizator HerddexJinga Tudor Herddex Data 5 octombrie 2018 14:42:40
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");

const int bigValue = 1000000;

int main()
{
    int N;
    fin >> N;

    int A[101][101];
    for(int i=1; i<=N; i++)
        for(int j=1; j<=N; j++)
        {
            fin >> A[i][j];
            if(i != j && A[i][j] == 0)
                A[i][j] = bigValue;
        }

    for(int k=1; k<=N; k++)
        for(int i=1; i<=N; i++)
            for(int 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(int i=1; i<=N; i++)
    {
        for(int j=1; j<=N; j++)
            if(A[i][j] == bigValue)
                fout << 0 << ' ';
            else
                fout << A[i][j] << ' ';
        fout << '\n';
    }

    fin.close();
    fout.close();
    return 0;
}