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)。所有边的方向均从根出发。若存在一条从顶点 vv 指向顶点 uu 的有向边,则称顶点 uu 是顶点 vv 的子节点(child),顶点 vv 是顶点 uu 的父节点(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.

第一行包含一个整数 nn —— 树中顶点的数量(3≤n≤1 0003 \leq n \leq 1\,000)。接下来的 n−1n-1 行中,第 ii 行(1≤i≤n−11 \leq i \leq n-1)包含一个整数 pip_i —— 第 i+1i+1 个顶点的父节点编号(1≤pi≤i1 \leq p_i \leq 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测评打分。不知道怎么写?

首页