P11962 [GESP202503 六级] 树上漫步

我们用两个数组:num 和 vis 来分别存储偶数点和奇数点的个数和每个点的奇偶情况,并在深搜的时候统计就行了。

应为是走偶数个点嘛。

我脑子抽了,这都没想出来。

void dfs(int x, int cnt) {
    if (cnt % 2 == 0) {
        num[2]++;
        vis[x] = 2;
    } else {
        num[1]++;
        vis[x] = 1;
    }
    for (int i : g[x])
        if (!vis[i]) dfs(i, cnt + 1);
}
posted @ 2026-09-24 23:55  yingMC  阅读(3)  评论(0)    收藏  举报