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);
}

浙公网安备 33010602011771号