Cod sursa(job #2769432)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 15 august 2021 17:57:53
Problema Floyd-Warshall/Roy-Floyd Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.44 kb
#include <bits/stdc++.h>

using namespace std;

/*********************************************/
/// INPUT / OUTPUT

ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
/*********************************************/
/// GLOBAL DECLARATIONS

int N, M;
/*********************************************/
/// FUNCTIONS

void Floyd();
void Dijkstra();
void Bellman();
/*********************************************/
///-------------------------------------------------------
inline void Floyd()
{
    f >> N;
    int mat[N + 5][N + 5];

    for (int i = 1 ; i <= N ; ++ i)
        for (int j = 1 ; j <= N ; ++ j)
            f >> mat[i][j];

    for (int k = 1 ; k <= N ; ++ k)
    {
        for (int i = 1 ; i <= N ; ++ i)
        {
            for (int j = 1 ; j <= N ; ++ j)
            {
                if (i == k || j == k)
                    continue;
                mat[i][j] = min(mat[i][j], mat[i][k] + mat[k][j]);
            }
        }
    }

    for (int i = 1 ; i <= N ; ++ i)
    {
        for (int j = 1 ; j <= N ; ++ j)
            g << mat[i][j] << " ";
        g << "\n";
    }

}
///-------------------------------------------------------
inline void Dijkstra()
{

}
///-------------------------------------------------------
inline void Bellman()
{

}
///-------------------------------------------------------
int main()
{
    Floyd();
    // Dijkstra();
    // Bellman();
    return 0;
}