B. 第k个字符串

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较

题目描述

给定两个整数 n k

n−2 a 2 b 来构成一个字符串,则一共可以构成 n(n−1)/2 个不同的字符串。

将这 n(n−1)/2 个字符串按照字典序进行排序。

请输出排好序后,排在第 k 个的字符串。

例如,当 n=5 , k=2 时,共可以生成 10 个不同的字符串,按字典序排列如下:

aaabb
aabab
aabba
abaab
ababa
abbaa
baaab
baaba
babaa
bbaaa

其中,排在第 2 个的字符串为 aabab。

输入格式

第一行包含整数 T,表示共有 T 组测试数据。

每组数据占一行,包含两个整数 n 和 k。

输出格式

每组数据输出一行结果,表示答案。

样例

输入样例:

7
5 1
5 2
5 8
5 10
3 1
3 2
20 100

输出样例:

aaabb
aabab
baaba
bbaaa
abb
bab
aaaaabaaaaabaaaaaaaa

数据范围与提示

30% 测试点满足 1≤T≤10,3≤n≤20,1≤k≤100

60% 测试点满足 3≤n≤100

80% 测试点满足 3≤n≤10000

100% 测试点满足 1≤T≤10000,3≤n≤10^5,1≤k≤min(2×10^9,n(n−1)/2)

同一测试点内所有 n 的和不超过 10^5