Cod sursa(job #2417015)

Utilizator AlexNeaguAlexandru AlexNeagu Data 28 aprilie 2019 18:47:40
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
#define NMAX 105
int T[NMAX][NMAX];
int N;
int main()
{
    ios_base::sync_with_stdio(false);
    fin>>N;
    for (int i=1; i<=N; i++)
        for (int j=1; j<=N; j++)
        fin>>T[i][j];
    for (int k=1; k<=N; k++)
        for (int i=1; i<=N; i++)
             for (int j=1; j<=N; j++)
             if (T[i][k]&&T[k][j]&&(T[i][j]>T[i][k]+T[k][j]||!T[i][j])&&i!=j)
             T[i][j]=T[i][k]+T[k][j];
    for (int i=1; i<=N; i++)
        for (int j=1; j<=N; j++)
        (j==N) ? fout<<T[i][j]<<"\n":fout<<T[i][j]<<" ";
    return 0;
}