diff --git a/dijkstra.cpp b/dijkstra.cpp index e6e9724..ab33b8e 100644 --- a/dijkstra.cpp +++ b/dijkstra.cpp @@ -97,7 +97,7 @@ void printDistances(const unordered_map& distance) { cout << "----------------------------\n"; } -void dijkstra(long long start) { +void dijkstra(long long start, long long destination ) { unordered_map distance; unordered_map previous; unordered_map visited; @@ -124,6 +124,26 @@ void dijkstra(long long start) { cout << "Visiting node " << u << " (distance = " << current.dist << ")\n"; printDistances(distance); + if(u == destination) { + cout<<"\ndestination"< path; + for(long long t = destination; t != start; t= previous[t]){ + path.push_back(t); + } + path.push_back(start); + reverse(path.begin(), path.end()); + + cout<<"path"; + for(size_t i=0; i"; + } + cout<