CF2218F.The 67th Tree Problem
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给你两个整数 x 和 y。
你的任务是构造一棵有 x+y 个节点的树,根节点为 1,使得:
- 树中恰好有 x 个节点的子树大小为偶数;
- 恰好有 y 个节点的子树大小为奇数。
如果存在多个合法的树,你可以输出任意一个。如果不存在这样的树,则输出 NO。
- 子树定义:节点 u 的子树是指所有在到根节点的简单路径上经过 u 的节点(包括 u 本身)。*
输入格式
每个测试点包含多个测试用例。
第一行包含一个整数 t(1≤t≤104),表示测试用例的数量。
接下来 t 行,每行包含两个整数 x 和 y(0≤x,y≤2×105,1≤x+y≤2×105)。
保证所有测试用例的 x+y 之和不超过 2×105。
输出格式
对于每个测试用例,如果存在这样的树,输出 YES,否则输出 NO(大小写不敏感)。
如果输出 YES,接下来输出 x+y−1 行,每行两个整数 u 和 v,表示树中一条连接节点 u 和 v 的边。
输入输出样例
输入#1
7 1 1 2 1 0 3 3 4 0 2 1 0 4 7
输出#1
YES 1 2 NO YES 1 2 1 3 YES 1 2 2 3 3 4 4 5 5 6 6 7 NO NO YES 1 2 2 3 3 4 4 5 4 11 2 6 6 7 7 8 2 9 9 10
说明/提示
样例说明
- 第一个测试用例中,输出的树是合法的:节点 1 的子树大小为 2(偶),节点 2 的子树大小为 1(奇)。
- 第二个测试用例中,可以证明不存在合法的树。
- 第四个测试用例中,子树大小为偶数的节点是 [2,4,6],大小为奇数的节点是 [1,3,5,7]。
- 最后一个测试用例的树结构见题目中的图示,其中蓝色节点表示子树大小为偶数,红色节点表示奇数。
翻译由 DeepSeek 生成,经人工修正。
输入解题思路,AI测评打分。不知道怎么写?