‹ 上一题 下一题 ›

g6-07121. 树上父参数·条件写反 未做

1000 ms 256 MB 测试点 ? 通过率 50% 自拟题知识点题GESP-66级·深度优先搜索客观题单选

家族树:1 是祖辈,边为 1—2、1—3、2—4。标准骨架应写 if (v == fa) continue;(跳过爸爸)。小睿把它写反了:

void dfs(int u, int fa) {
    for (int v : g[u]) {
        if (v != fa) continue;   // 条件写反了
        dfs(v, u);
    }
}

从根调用 dfs(1, 0) 后,程序的行为是( )。

  • A. 照样遍历整棵树,只是多花一点时间
  • B. 在树上来回横跳,死循环直到爆栈
  • C. 只访问每个点的孩子、跳过爸爸,遍历结果恰好正确
  • D. 每个点的邻居几乎都不是爸爸、全被 continue 拦下,一个递归都发不出去——实际上除根外什么都没访问
未选择
输入
输出

            
答案