===С++===
vector < vector<int> > graph[][]; vector<int> color[]; void dfs(int index) { color[index] = 1grey; // красит вершину в серый цвет for (vector<int>v ::iterator i = graph[index].begin(); i != graph[index].end(); ++iuv - ребра) { if ( color[*iv] == 0 white ) dfs(*iv); if ( color[*iv] == 1 grey ) print(); // вывод ответа } color[index] = 2black; // красит вершину в черный цвет }
[[Категория: Алгоритмы и структуры данных]]
[[Категория: Обход в глубину]]