Эйлеров цикл. Эйлеров путь

Материал из Олимпиадное программирование в УлГТУ
Перейти к навигации Перейти к поиску
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);
}

Ссылки