SP10608 UNICA - Unique Strings
题目描述
有一群热爱字符串的人,把某种特殊类型的字符串称为“独特字符串”。
定义如下:
- 对于字符串 $S$ 设 $a(S)$ 为其中字符 “a” 的个数,$b(S)$ 为其中字符 “b” 的个数。
- 字符串 $S$ 是独特字符串,当且仅当:
1. $S$ 仅由字符 “a” 和 “b” 组成;
2. $S$ 的任意一个子串 $S'$ 都满足 $|a(S') - b(S')| \leq 3$。
举例来说,“abbab” 是独特字符串,而“abbbba”不是。因为“abbbba” 包含子串 “bbbb”,该子串有 $|a(\text{“bbbb”}) - b(\text{“bbbb”})| = 4 > 3$。
假设按照以下规则对独特字符串进行排序:先按长度从短到长排序,再按字典序排序。排序后第 $N$ 个独特字符串就是我们需要找到的目标字符串。其中,第一个独特字符串在序列中编号为 1。
排序后的前 12 个独特字符串是:`a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa, bab`
输入格式
输入一个整数 $N$($1 \leq N \leq 10^{14}$)。任务是找出排序后的第 $N$ 个独特字符串。
输出格式
输出一行,表示排序后的第 $N$ 个独特字符串。
**本翻译由 AI 自动生成**