如果你要是像我一样写 dfs 处理深度
void dfs(int u, int fa)
{
dep[u] = dep[fa] + 1;
max_dep = max(max_dep, dep[u]);
cnt_dep[dep[u]]++;
for (int i = h[u]; i; i = e[i].ne)
{
int v = e[i].v;
if (v == fa)
continue;
dfs(v, u);
}
}
记得你在重新以一个点为根跑 dfs 之前一定要清空 dep 数组,但是可能是因为数据水,你不清空是能拿60分