#P16843. [NWRRC 2021]New White-Black Tree

[NWRRC 2021]New White-Black Tree

题目描述

Naomi 已经学习了红黑树,现在该学习“白黑树”了。

她正在阅读一本算法书。书中有一些树的图片,但由于年代久远,树上的边都已经褪色。根据文字说明,每条边原本应该是白色黑色中的一种。

Naomi 注意到,每个顶点旁边都写着两个整数。她猜测:

  • 第一个整数表示与该顶点相连的白边数量
  • 第二个整数表示与该顶点相连的黑边数量

Naomi 已经把书中的所有图片都复原了。你也能做到吗?

输入格式

第一行包含一个整数 TT,表示需要复原的图片数量:

1T3×105.1\le T\le 3\times 10^5.

接下来依次描述这 TT 张图片。

每张图片的描述如下:

  • 第一行包含一个整数 nn,表示树的顶点数:
1n3×105.1\le n\le 3\times 10^5.
  • 接下来 nn 行,第 ii 行包含两个整数 wi,biw_i,b_i
0wi,bin1,0\le w_i,b_i\le n-1,

其中 wiw_i 表示顶点 ii 的白色邻边数,bib_i 表示顶点 ii 的黑色邻边数。

保证所有图片中的 nn 之和不超过 3×1053\times 10^5

输出格式

对于每张图片输出一个结果块。

如果不存在满足要求的树,第一行输出:

No

如果存在,第一行输出:

Yes

随后再输出 n1n-1 行,每行包含两个整数 vi,uiv_i,u_i 和一个字符 cic_i

v_i u_i c_i

表示顶点 viv_iuiu_i 之间有一条颜色为 cic_i 的边,其中:

  • 1vi,uin1\le v_i,u_i\le n
  • cic_iWB
  • W 表示白边,B 表示黑边。

如果存在多种合法构造,输出任意一种即可。边可以按任意顺序输出。

样例

6
4
1 1
1 1
1 0
1 0
4
1 0
2 1
1 1
1 0
1
0 0
2
0 1
0 1
2
1 0
0 1
3
2 0
0 1
0 1
Yes
1 4 W
2 3 W
2 1 B
No
Yes
Yes
2 1 B
No
No