#CF2218F. 1533~第67场树问题

1533~第67场树问题

题目描述

给你两个整数 xxyy

请你构造一棵x+yx+y 个节点、以 11 为根的树,满足:

  • 恰好有 xx 个节点的子树大小是偶数
  • 恰好有 yy 个节点的子树大小是奇数

子树定义:节点 uu 的子树是从根到任意节点的简单路径上经过 uu 的所有节点(包含 uu 自己)。

如果可以构造,输出 YES 并给出树的边;否则输出 NO。

输入格式

第一行一个整数 tt,表示测试用例个数。

接下来 tt 行,每行两个整数 xxyy

输出格式

对于每个测试用例:

  • 无解输出 NO
  • 有解先输出 YES,再输出 x+y1x+y-1 行边,每行两个整数 uuvv
7
1 1
2 1
0 3
3 4
0 2
1 0
4 7
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

数据规模与约定

1t1041 \le t \le 10^4

0x,y2×1050 \le x,y \le 2 \times 10^5

1x+y2×1051 \le x+y \le 2 \times 10^5

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

来源:Codeforces Round 1090 (Div. 4) 题目网址:https://codeforces.com/contest/2218/problem/F