diff options
Diffstat (limited to 'graph/euler.cpp')
| -rw-r--r-- | graph/euler.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/graph/euler.cpp b/graph/euler.cpp index 0907ab2..6ef3c13 100644 --- a/graph/euler.cpp +++ b/graph/euler.cpp @@ -6,21 +6,18 @@ void addEdge(int a, int b) { idx[a].push_back(sz(to)); to.push_back(b); used.push_back(false); - idx[b].push_back(sz(to)); //für ungerichtet + idx[b].push_back(sz(to)); // für ungerichtet to.push_back(a); used.push_back(false); } -// Findet Eulerzyklus an Knoten n startend. -// init idx und validIdx -void euler(int n) { +void euler(int n) { // init idx und validIdx for (;validIdx[n] < sz(idx[n]); validIdx[n]++) { if (!used[idx[n][validIdx[n]]]) { int nn = to[idx[n][validIdx[n]]]; used[idx[n][validIdx[n]]] = true; - used[idx[n][validIdx[n]] ^ 1] = true; //für ungerichtet + used[idx[n][validIdx[n]] ^ 1] = true; // für ungerichtet euler(nn); }} - // Zyklus in cycle in umgekehrter Reihenfolge. - cycle.push_back(n); + cycle.push_back(n); // Zyklus in umgekehrter Reihenfolge. } |
