题目描述
定义 A 和 B 为正整数,f(A, B) 表示满足以下条件的字符串:
- f(A, B) 的长度为 A+B。
- f(A, B) 正好包含 A 个字母
A 和 B 个字母 B。
- f(A, B) 的所有完全由同一个字母组成的子串(例如:
AAAAA、BBBB)中,最长的子串长度在上述两个条件满足的前提下最小。
- f(A, B) 在满足上述三条条件的前提下,字典序最小。
例如,f(2, 3)=BABAB,f(6, 4)=AABAABAABB。
你需要回答接下来的 Q 个查询。对于每个查询 (Ai, Bi, Ci, Di),输出 f(Ai, Bi) 的第 Ci 个字符到第 Di 个字符组成的子串(第一个字符下标为 1)。
输入格式
输入通过标准输入给出,格式如下:
Q A1 B1 C1 D1 A2 B2 C2 D2 : AQ BQ CQ DQ
输出格式
对于每个查询 i,按照输入顺序,输出 f(Ai, Bi) 的第 Ci 个字符到第 Di 个字符组成的子串,每个子串占一行。
样例 1
输入
5
2 3 1 5
6 4 1 10
2 3 4 4
6 4 3 7
8 10 5 8
输出
BABAB
AABAABAABB
A
BAABA
ABAB
说明/提示
限制
- 1≤Q≤103
- 1≤Ai,Bi≤5×108
- 1≤Ci≤Di≤Ai+Bi
- Di−Ci+1≤100
- 所有输入值均为整数。
部分得分
- 如果你能正确解答所有满足 1≤Ai,Bi≤103 的数据集,你将获得 500 分。
由 ChatGPT 5 翻译