diff --git a/cpp/graph.hpp b/cpp/graph.hpp index feac06b5febbcda3f9b3e78018181e7022f55e9a..b060f19362e37e55d009fc1f64820d77bc77c868 100644 --- a/cpp/graph.hpp +++ b/cpp/graph.hpp @@ -88,7 +88,14 @@ class Graph { } // Assumes valid vertex indices - bool hasEdge(const Edge &e) const { + bool hasEdge(const Edge& e_) const { + Edge e; + if (adj[e_.u].size() <= adj[e_.v].size()) { + e = e_; + } else { + e.u = e_.v; + e.v = e_.u; + } for (unsigned int v : adj[e.u]) { if (v == e.v) return true;