题目描述
输入一个整数 n(3≤n≤105)。
你需要用 n−2 个字符 'a' 以及 2 个字符 'b' 拼接得到一个长度为 n 的字符串。
按照这种方式可以得到 2n⋅(n−1) 个不同的字符串。
比如,当 n=5 时,按照字典序从小到大排能够得到以下 10 个不同的字符串:
aaabb
aabab
aabba
abaab
ababa
abbaa
baaab
baaba
babaa
bbaaa
计算并输出按照上述方式能够得到的字典序第 k 小的字符串。
输入格式
一行,两个整数 n 和 k,以一个空格分隔(3≤n≤105,1≤k≤min(2⋅109,2n⋅(n−1)))。
输出格式
输出共一行,表示由 n−2 个字符 'a' 和 2 个字符 'b' 能够得到的字典序第 k 小的字符串。
5 1
aaabb
5 2
aabab
5 8
baaba
说明/提示
数据规模与约定
- 对于 20% 的数据,n≤10
- 对于 50% 的数据,n≤1000
- 对于 100% 的数据,3≤n≤105,1≤k≤min(2⋅109,2n⋅(n−1))