Cod sursa(job #1904437)

Utilizator tudorgalatanRoman Tudor tudorgalatan Data 5 martie 2017 15:46:33
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

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

unsigned int N;
unsigned int A[101][101];

unsigned int 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 (i!=j && A[i][k]!=0 && A[k][j]!=0 && (A[i][j]>A[i][k]+A[k][j] || A[i][j]==0))
                    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 << '\n';
    }
    return 0;
}