diff options
| author | mzuenni <michi.zuendorf@gmail.com> | 2023-08-29 01:07:11 +0200 |
|---|---|---|
| committer | mzuenni <michi.zuendorf@gmail.com> | 2023-08-29 01:07:11 +0200 |
| commit | bc7a54f2a10ff3bb76cf4920be53000264bad279 (patch) | |
| tree | b19e51925e5aa067bf0aba866b9447ba31973adf /graph/euler.cpp | |
| parent | 4905811a7c635f28827984a999aedacd910f4dc3 (diff) | |
consistency
Diffstat (limited to 'graph/euler.cpp')
| -rw-r--r-- | graph/euler.cpp | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/graph/euler.cpp b/graph/euler.cpp index 6ef3c13..a5ea192 100644 --- a/graph/euler.cpp +++ b/graph/euler.cpp @@ -2,22 +2,22 @@ vector<vector<int>> idx; vector<int> to, validIdx, cycle; vector<bool> used; -void addEdge(int a, int b) { - idx[a].push_back(sz(to)); - to.push_back(b); +void addEdge(int u, int v) { + idx[u].push_back(sz(to)); + to.push_back(v); used.push_back(false); - idx[b].push_back(sz(to)); // für ungerichtet - to.push_back(a); + idx[v].push_back(sz(to)); // für ungerichtet + to.push_back(u); used.push_back(false); } -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 - euler(nn); +void euler(int v) { // init idx und validIdx + for (;validIdx[v] < sz(idx[v]); validIdx[v]++) { + if (!used[idx[v][validIdx[v]]]) { + int u = to[idx[v][validIdx[v]]]; + used[idx[v][validIdx[v]]] = true; + used[idx[v][validIdx[v]] ^ 1] = true; // für ungerichtet + euler(u); }} - cycle.push_back(n); // Zyklus in umgekehrter Reihenfolge. + cycle.push_back(v); // Zyklus in umgekehrter Reihenfolge. } |
