Logo 邂逅编程之美

UOJ

时间限制:1 s 空间限制:512 MB
Statistics

问题描述

对于一棵 $n$ 个点的树 $T$。定义 $sz_{u,v}$ 表示以 $u$ 为根时节点 $v$ 的子树大小。$S_u$ 表示以 $u$ 为根时所有 $\{sz_{u,v}|1 \leq v \leq n\}$ 组成的不可重集

给定 $n, x$,构造一棵 $n$ 个点的树,使得 $|\bigcap \limits_{u=1}^{n} S_u| = x$。

输入格式

多组询问

第一行输入一个数 $T$,表示数据组数。

每组询问输入一行三个数 $tp, n, x$。其中 $tp$ 的含义在输出格式中说明。

输出格式

每组询问先输出一行 Yes 或 No 表示是否有解。

特别地,对于 $tp=1$ 的询问,需要额外输出构造的方案。

输入输出样例1

输入样例

3
1 1 1
1 10 2
0 5 4

输出样例

Yes
Yes
3 2
2 7
1 2
2 9
5 2
2 8
4 2
10 2 
2 6
No

约定和数据范围

「本题采用捆绑测试」

  • Subtask 1(25%):$tp=0$。
  • Subtask 2(15%):$x \leq 10$。
  • Subtask 3(30%):$\sum n \leq 100$。
  • Subtask 4(30%):无特殊限制。

对于 $100\%$ 的数据满足:$1 \leq x \leq n \leq \sum n \leq 10^6$,$0 \leq tp \leq 1$。
样例