Cod sursa(job #2421924)

Utilizator ElektrykT E S L A P E F E L I E Elektryk Data 16 mai 2019 18:21:48
Problema Floyd-Warshall/Roy-Floyd Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

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

int n;

int dp[107][107];

int main()
{
    in>>n;
    for (register int i=1; i<=n; ++i)
        for (register int j=1; j<=n; ++j)
            in>>dp[i][j];
    for (register int k=1; k<=n; ++k)
        for (register int i=1; i<=n; ++i)
            for (register int j=1; j<=n; ++j)
                if (i != j && dp[i][k] && dp[k][j])
                {
                    if (dp[i][j]==0)
                        dp[i][j]=(1<<31)-1;
                    dp[i][j] = min (dp[i][j], dp[i][k]+dp[k][j]);
                }
    for (register int i=1; i<=n; ++i)
    {
        for (register int j=1; j<=n; ++j)
            out<<dp[i][j]<<" ";
        out<<'\n';
    }
    return 0;
}