From 18a5c2485275c15b03992e0843803b6759ad4881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Netto?= Date: Thu, 3 Oct 2019 16:41:25 -0300 Subject: [PATCH] Added Floyd Warshall --- Floyd-Warshall/Floyd-Warshall.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 Floyd-Warshall/Floyd-Warshall.cpp diff --git a/Floyd-Warshall/Floyd-Warshall.cpp b/Floyd-Warshall/Floyd-Warshall.cpp new file mode 100644 index 0000000..dae11b5 --- /dev/null +++ b/Floyd-Warshall/Floyd-Warshall.cpp @@ -0,0 +1,25 @@ +#include + +using namespace std; + +/* +* Algorithm that calculates the distance between all vertices +* of a graph. +* +* Further reading at: +* https://cp-algorithms.com/graph/all-pair-shortest-path-floyd-warshall.html +*/ + +void floydWarshall( vector< vector < int > > d ){ + const int n = v.size(); + const int INF = 1e8; + for(int k = 0;k < n;++k){ + for(int i = 0;i < n;++i){ + for(int j = 0;j < n;++j){ + if(d[i][k] < INF && d[k][j] < INF){ + d[i][j] = min(d[i][j], d[i][k] + d[k][j]); + } + } + } + } +} \ No newline at end of file