AT_arc157_e.[ARC157E] XXYX Binary Tree
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一棵有 N 个顶点的有根树。每个顶点编号为 1 到 N 的互不相同的整数,根为顶点 1。对于除根以外的每个顶点 i,其父节点为顶点 Pi。对于每个顶点(包括根),要么没有子节点,要么恰好有 2 个子节点。
请判断是否可以在给定的树的每个顶点上写入字符 X 或 Y,使得满足以下条件:
条件: 对于树的每一条边,考虑将其两个端点上写入的字符,按照从父节点 Pi 到子节点 i 的顺序排列,得到一个长度为 2 的字符串。这样的字符串总共有 N−1 个,其中:
- 恰好有 A 个为
XX, - 恰好有 B 个为
XY, - 恰好有 C 个为
YX, - 不存在
YY。
给定 T 组测试数据,请分别回答每组数据是否存在满足条件的字符分配方案。
输入格式
输入按以下格式从标准输入给出。
T
case1
case2
⋮
caseT
每组测试数据 casei (1≤i≤T) 格式如下:
N A B C P2 P3 ⋯ PN
输出格式
输出 T 行。第 i 行输出第 i 个测试用例的答案。如果存在满足条件的字符分配方案,输出 Yes,否则输出 No。
输入输出样例
输入#1
3 7 2 2 2 1 1 2 2 3 3 7 0 2 4 1 1 2 2 3 3 7 2 0 4 1 1 2 2 4 4
输出#1
Yes Yes No
说明/提示
限制条件
- T≥1
- N≥1
- 所有测试用例中 N 的总和不超过 104
- A≥0
- B≥0
- C≥0
- A+B+C=N−1
- 1≤Pi<i (2≤i≤N)
- 每个顶点 k (1≤k≤N) 作为父节点 Pi (2≤i≤N) 出现的次数要么为 0 次,要么为 2 次
样例解释 1
对于第 1 个测试用例,例如按顶点 1 到 7 的顺序写入 XXYXYXX,则
- 边 (1,2) 得到的字符串为
XX, - 边 (1,3) 得到的字符串为
XY, - 边 (2,4) 得到的字符串为
XX, - 边 (2,5) 得到的字符串为
XY, - 边 (3,6) 得到的字符串为
YX, - 边 (3,7) 得到的字符串为
YX,
因此 XX、XY、YX 各有 2 个,满足条件。
对于第 2 个测试用例,例如写入 XYYXXXX 也能满足条件。
对于第 3 个测试用例,无论如何分配字符都无法满足条件。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?