#A1292. 最近公共祖先(LCA)
最近公共祖先(LCA)
题目背景
LCA(Least Common Ancestors),即最近公共祖先。对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。
题目描述
给定一棵树和两个不同的结点,求出它们最近的公共祖先结点。
已知该树有n个结点,标号1~n,1是根。
输入格式
第1行输入一个整数n,代表结点数量(2≤n≤1000);
第2行输入两个整数x,y,表示需要计算的结点;
以下n-1行,每行两个整数a和b,表示a是b的父亲。
输出格式
一个整数,代表x与y的最近公共祖先。
输入/输出样例
9
7 9
1 2
2 3
2 4
3 5
5 8
5 9
4 6
4 7
2
说明/提示
时间1000ms,内存256MiB