Тема: Точка сочл.
...
...
.
.
void dfs (int v, int p = -1) {
used[v] = true;
tin[v] = fup[v] = timer++;
int children = 0;
for (size_t i=0; i<g[v].size(); ++i) {
int to = g[v][i];
if (to == p) continue; // эту строку можно удалить
.
..
...
строка
int to = g[v][i];
кажется неправильна