小红的lca
题号:NC289030
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红拿到了一棵由 n 个节点、n-1 条边构成的树,她想知道这棵树是否存在一条长度恰好为 3简单路径

\hspace{15pt}从节点 u 到节点 v简单路径定义为从节点 u 出发,以节点 v 为终点,随意在树上走,不经过重复的点和边走出来的序列,简单路径的长度定义为路径上边的数量。可以证明,在树上,任意两个节点间有且仅有一条简单路径。

输入描述:

\hspace{15pt}第一行输入一个正整数 n \left(2 \leq n \leq 10^5\right),表示树的节点数。
\hspace{15pt}此后 n-1 行,第 i 行输入两个整数 u_iv_i \left(1 \leq u_i, v_i \leq n;\ u_i \neq v_i\right) 代表第 i 条边连接节点 u_iv_i。保证给出的是一棵树。

输出描述:

\hspace{15pt}如果存在一条长度恰好为 3 的简单路径,则输出 \rm{Yes},否则输出 \rm{No}
示例1

输入

复制
5
1 2
2 3
3 4
3 5

输出

复制
Yes

说明

\hspace{15pt}在这个样例中,树的形状如下图所示,我们可以找到,以 1 为起点,以 4 为终点,长度为 3 的一条简单路径。

示例2

输入

复制
3
1 2
2 3

输出

复制
No