CF2218F.The 67th Tree Problem

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给你两个整数 xx 和 yy。

你的任务是构造一棵有 x+yx+y 个节点的树,根节点为 11,使得:

  • 树中恰好有 xx 个节点的子树大小为偶数;
  • 恰好有 yy 个节点的子树大小为奇数。

如果存在多个合法的树,你可以输出任意一个。如果不存在这样的树,则输出 NO。


  • 子树定义:节点 uu 的子树是指所有在到根节点的简单路径上经过 uu 的节点(包括 uu 本身)。*

输入格式

每个测试点包含多个测试用例。

第一行包含一个整数 tt(1≤t≤1041\leq t\leq 10^4),表示测试用例的数量。

接下来 tt 行,每行包含两个整数 xx 和 yy(0≤x,y≤2×1050\leq x, y\leq 2\times 10^5,1≤x+y≤2×1051\leq x+y\leq 2\times 10^5)。

保证所有测试用例的 x+yx+y 之和不超过 2×1052\times 10^5。

输出格式

对于每个测试用例,如果存在这样的树,输出 YES,否则输出 NO(大小写不敏感)。

如果输出 YES,接下来输出 x+y−1x+y-1 行,每行两个整数 uu 和 vv,表示树中一条连接节点 uu 和 vv 的边。

输入输出样例

  • 输入#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][2,4,6],大小为奇数的节点是 [1,3,5,7][1,3,5,7]。
  • 最后一个测试用例的树结构见题目中的图示,其中蓝色节点表示子树大小为偶数,红色节点表示奇数。

翻译由 DeepSeek 生成,经人工修正。

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

首页