Эйлеров цикл. Эйлеров путь
Перейти к навигации
Перейти к поиску
void euler(map<int, multiset<int>> &graph, int v, vector<int> &cycle) {
while (!graph[v].empty()) {
int to = *graph[v].begin();
graph[v].erase(graph[v].find(to));
graph[to].erase(graph[to].find(v));
euler(graph, to, cycle);
}
cycle.push_back(v);
}