#ATarc157e. [ARC157E] XXYX Binary Tree
[ARC157E] XXYX Binary Tree
题目描述
给定一棵有 个顶点的有根树。每个顶点编号为 到 的互不相同的整数,根为顶点 。对于除根以外的每个顶点 ,其父节点为顶点 。对于每个顶点(包括根),要么没有子节点,要么恰好有 个子节点。
请判断是否可以在给定的树的每个顶点上写入字符 X 或 Y,使得满足以下条件:
条件: 对于树的每一条边,考虑将其两个端点上写入的字符,按照从父节点 到子节点 的顺序排列,得到一个长度为 的字符串。这样的字符串总共有 个,其中:
- 恰好有 个为
XX, - 恰好有 个为
XY, - 恰好有 个为
YX, - 不存在
YY。
给定 组测试数据,请分别回答每组数据是否存在满足条件的字符分配方案。
输入格式
输入按以下格式从标准输入给出。
每组测试数据 格式如下:
输出格式
输出 行。第 行输出第 个测试用例的答案。如果存在满足条件的字符分配方案,输出 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
输出
Yes
Yes
No
说明/提示
限制条件
- 所有测试用例中 的总和不超过
- 每个顶点 作为父节点 出现的次数要么为 次,要么为 次
样例解释 1
对于第 个测试用例,例如按顶点 到 的顺序写入 XXYXYXX,则
- 边 得到的字符串为
XX, - 边 得到的字符串为
XY, - 边 得到的字符串为
XX, - 边 得到的字符串为
XY, - 边 得到的字符串为
YX, - 边 得到的字符串为
YX,
因此 XX、XY、YX 各有 个,满足条件。
对于第 个测试用例,例如写入 XYYXXXX 也能满足条件。
对于第 个测试用例,无论如何分配字符都无法满足条件。
由 ChatGPT 4.1 翻译