Изменения
→С++
vector < vector<int> > graph;
vector<int> color;
void dfs(int node_indexindex)
{
color[node_indexindex] = 1; // красит вершину в серый цвет for (vector<int>::iterator i = graph[node_indexindex].begin(); i != graph[node_indexindex].end(); ++i)
{
if ( color[*i] == 0 )
dfs(*i);
if ( color[*i] == 1 )
print(); // вывод ответа
}
color[node_indexindex] = 2; // красит вершину в черный цвет
}