#ATarc179f. [ARC179F] All the Same
[ARC179F] All the Same
题目描述
给你一个只包含字符 A 和 B 的长度为 的字符串 。
需要找到一个由字符 1、2 和 3 组成的长度为 的字符串 ,并定义其得分如下:
- 初始化四个变量 为 。
- 然后依次处理 :
- 若 的第 个字符为
A,则执行操作 A;若为B,则执行操作 B。此处, 代表 的第 个字符对应的数字。- 操作 A:将 增加 。
- 操作 B:若 等于 或 不等于 ,则将 设为 ;否则将 和 各自增加 。
- 如果此时 等于 且等于 ,则将 增加 。
- 若 的第 个字符为
- 最终, 的值即为字符串 的得分。
请输出一个能使得分最大的字符串 。
共有 个测试用例,请分别求解每个测试用例。
输入格式
输入包含多组测试数据,第一行为整数 ,表示测试用例的个数。
每个测试用例包括两行:
第一行为整数 ,表示字符串 的长度。
第二行是长度为 的字符串 。
输出格式
输出共 行,每行表示一个测试用例的结果。
第 行输出第 个测试用例中得到最高得分的字符串 。
如有多种可能的结果,输出任意一种均可。
样例 1
输入
5
4
ABBA
5
AAAAA
6
BBBBBB
7
ABABABA
20
AAABBBBBBBBAAABBBABA
输出
1333
12321
333333
1313212
33311111133121111311
说明/提示
- 由字符
A和B组成 - 所有测试用例中的 之和不超过
样例解释
以每个字符的处理步骤举例说明变量 的变化:
- 第一个测试用例处理结果为 $(0, 0, 0, 0) \rightarrow (2, 0, 0, 0) \rightarrow (2, 1, 1, 0) \rightarrow (2, 2, 2, 1) \rightarrow (2, 2, 4, 1)$,所以最大得分为 。
- 第二个测试用例处理结果为 $(0, 0, 0, 0) \rightarrow (2, 0, 0, 0) \rightarrow (2, 2, 0, 0) \rightarrow (2, 2, 2, 1) \rightarrow (2, 4, 2, 1) \rightarrow (4, 4, 2, 1)$,最大得分为 。
- 第三个、第四个和第五个测试用例的得分最大值分别为 。
注意,一个测试用例可能会存在多个得分最大的 ,选择其中任意一个输出即可。
本翻译由 AI 自动生成