Cod sursa(job #2943198)

Utilizator TeodoraMaria123Serban Teodora Maria TeodoraMaria123 Data 20 noiembrie 2022 18:20:56
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.84 kb
#include <fstream>



using namespace std;



ifstream in("royfloyd.in");

ofstream out("royfloyd.out");



#define INF 1000000000

#define MAX_N 100



int dp[MAX_N + 1][MAX_N  + 1];



int main()

{

    int n;

    in >> n;

    for(int i = 1; i <= n; i ++)

        for(int j = 1; j <= n; j ++)

        {

            if(i == j)

                dp[i][j] = 0;

            else

                dp[i][j] = INF;

        }

    for(int i = 1; i <= n; i ++)

        for(int j = 1; j <= n; j++)

        in >> dp[i][j];

    for(int k = 1; k <=n; k ++)

        for(int i = 1; i <= n; i ++)

           for(int j = 1; j <= n; j ++)

             dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);

    for(int i = 1; i <= n; i ++)

    {

        for(int j = 1; j <= n; j ++)

            out << dp[i][j] << " ";

        out << "\n";

    }

    return 0;

}