A70773. 树的公共祖先(LCA)
编程题
入门
知识点
题目描述
给定一棵树和两个不同的结点,求出他们最近的公共祖先父结点。
已知该树有 n 个结点,标号 1..n 。
输入格式
第 1 行输入一个整数 n,代表结点数量(n≤100);
第 2 行输入两个整数 x,y,表示需要计算的结点;
以下 n-1 行,每行两个整数 a 和 b,表示 a 的父结点是 b。
输出格式
输出 x 与 y 的最近公共祖先 root。
输入输出样例
输入 #1
9 9 7 2 1 3 2 4 2 5 3 8 5 9 5 6 4 7 4
输出 #1
2
说明/提示
## 思路
「树的公共祖先(LCA)」建树后 DFS/BFS 统计深度、子树或求 LCA/直径。
## 步骤
1. 读入边并建树。
2. 从根遍历更新深度、父节点或子树大小。
3. 按题意输出询问结果。
「树的公共祖先(LCA)」建树后 DFS/BFS 统计深度、子树或求 LCA/直径。
## 步骤
1. 读入边并建树。
2. 从根遍历更新深度、父节点或子树大小。
3. 按题意输出询问结果。