#P16485. [GKS 2014 #B] Parentheses Order

[GKS 2014 #B] Parentheses Order

题目描述

一个长度为 nn 的括号序列由 nn(nn) 组成。

一个合法的括号序列定义如下:

你可以找到一种方式,通过反复删除相邻的括号对 () 使得序列最终变为空。

例如,( ( ) ) 是一个合法的括号序列:你可以删除第 22 和第 33 个位置上的括号对,得到 (),然后再将其清空。

) ( ) ( 不是一个合法的括号序列:删除第 22 和第 33 个位置上的括号对后,得到 ) (,此后无法再删除任何括号对。

现在,我们有所有长度为 nn 的合法括号序列。请找出其中字典序第 k\mathbf{k} 小的序列。

例如,以下是长度为 33 的所有合法括号序列,按字典序排列:

( ( ( ) ) )
( ( ) ( ) )
( ( ) ) ( )
( ) ( ( ) )
( ) ( ) ( )

输入格式

输入的第一行给出测试用例的数量 TT。接下来 TT 行,每行对应一个测试用例,包含两个整数 nnkk

输出格式

对于每个测试用例,输出一行形如 Case #x: y 的内容,其中 xx 是测试用例编号(从 11 开始),yy 是所有长度为 nn 的合法括号序列中字典序第 k\mathbf{k} 小的序列。如果不同的长度为 nn 的合法括号序列不足 k\mathbf{k} 个,则输出 Doesn't Exist!

3
2 2
3 4
3 6
Case #1: ()()
Case #2: ()(())
Case #3: Doesn't Exist!

提示

限制

1T1001 \le T \le 100

小数据集(测试集 1 - 可见)

1n101 \le n \le 10

1k1000001 \le k \le 100000

大数据集(测试集 2 - 隐藏)

1n1001 \le n \le 100

1k10181 \le k \le 10^{18}

翻译由 DeepSeek V4 Pro 完成