P17188 [ICPC 2017 Hong Kong R] Sets

题目描述

对于一个固定的数 $n$,我们定义 $S_1$ 为整数集合 $1, 2, \dots, n$。对于任意 $i > 1$,我们定义 $S_i$ 为包含 $S_{i-1}$ 中所有两个不同数之和的集合。 例如,若 $n = 3$,我们有 $$ \begin{matrix} S_1 & = &\{1,2,3\},\\ S_2 & = &\{3,4,5\},\\ S_3 & = &\{7,8,9\},\\ S_4 & = &\{15, 16, 17\}.\\ \end{matrix} $$ 然后,我们对每个集合分别排序,并按顺序将它们拼接成一个序列 $L$。在上述例子中,得到的序列为 $L = 1, 2, 3, 3, 4, 5, 7, 8, 9, 15, 16, 17, \dots$。 现在,给定整数 $n$ 和 $k$,序列 $L$ 中的第 $k$ 个数是多少?

输入格式

输入文件包含多个测试用例,请处理到文件末尾。 对于每个用例,仅有一行包含两个整数 $n$ 和 $k$($n \le 1000$,$k \le 10^{1000}$)。当 $n=3$ 时,保证输入的 $k\leq 100000$。

输出格式

对于每个用例,输出一个整数表示序列的第 $k$ 个数。如果不存在则输出 $-1$。

说明/提示

翻译由 DeepSeek V4 Pro 完成