CF913B.Christmas Spruce
普及-
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Consider a rooted tree. A rooted tree has one special vertex called the root. All edges are directed from the root. Vertex u is called a child of vertex v and vertex v is called a parent of vertex u if there exists a directed edge from v to u. A vertex is called a leaf if it doesn't have children and has a parent.
Let's call a rooted tree a spruce if its every non-leaf vertex has at least 3 leaf children. You are given a rooted tree, check whether it's a spruce.
The definition of a rooted tree can be found here.
考虑一棵有根树。有根树中有一个特殊的顶点,称为根(root)。所有边的方向均从根出发。若存在一条从顶点 v 指向顶点 u 的有向边,则称顶点 u 是顶点 v 的子节点(child),顶点 v 是顶点 u 的父节点(parent)。若一个顶点没有子节点但有父节点,则称其为叶节点(leaf)。
我们称一棵有根树为“云杉树”(spruce),当且仅当它的每一个非叶节点至少有 3 个叶节点作为子节点。现给你一棵有根树,请判断它是否为云杉树。
有根树的定义可参见此处。
输入格式
The first line contains one integer n — the number of vertices in the tree (3 ≤ n ≤ 1 000). Each of the next n - 1 lines contains one integer p__i (1 ≤ i ≤ n - 1) — the index of the parent of the i + 1-th vertex (1 ≤ p__i ≤ i).
Vertex 1 is the root. It's guaranteed that the root has at least 2 children.
第一行包含一个整数 n —— 树中顶点的数量(3≤n≤1000)。接下来的 n−1 行中,第 i 行(1≤i≤n−1)包含一个整数 pi —— 第 i+1 个顶点的父节点编号(1≤pi≤i)。
顶点 1 是根节点。保证根节点至少有两个子节点。
输出格式
Print "Yes" if the tree is a spruce and "No" otherwise.
如果该树是一棵云杉,则输出“Yes”,否则输出“No”。
输入输出样例
输入#1
4 1 1 1
输出#1
Yes
输入#2
7 1 1 1 2 2 2
输出#2
No
输入#3
8 1 1 1 1 3 3 3
输出#3
Yes
说明/提示
The first example:

The second example:

It is not a spruce, because the non-leaf vertex 1 has only 2 leaf children.
The third example:

第一个例子:

第二个例子:

它不是云杉树,因为非叶顶点 1 仅有 2 个叶节点子节点。
第三个例子:

输入解题思路,AI测评打分。不知道怎么写?