AT_arc179_f.[ARC179F] All the Same
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给你一个只包含字符 A 和 B 的长度为 N 的字符串 S。
需要找到一个由字符 1、2 和 3 组成的长度为 N 的字符串 X,并定义其得分如下:
- 初始化四个变量 h1,h2,h3,P 为 0。
- 然后依次处理 i=1,2,…,N:
- 若 S 的第 i 个字符为
A,则执行操作 A;若为B,则执行操作 B。此处,d 代表 X 的第 i 个字符对应的数字。- 操作 A:将 hd 增加 2。
- 操作 B:若 d 等于 2 或 hd 不等于 h2,则将 P 设为 −10100;否则将 hd 和 h2 各自增加 1。
- 如果此时 h1 等于 h2 且等于 h3,则将 P 增加 1。
- 若 S 的第 i 个字符为
- 最终,P 的值即为字符串 X 的得分。
请输出一个能使得分最大的字符串 X。
共有 T 个测试用例,请分别求解每个测试用例。
输入格式
输入包含多组测试数据,第一行为整数 T,表示测试用例的个数。
每个测试用例包括两行:
第一行为整数 N,表示字符串 S 的长度。
第二行是长度为 N 的字符串 S。
输出格式
输出共 T 行,每行表示一个测试用例的结果。
第 i 行输出第 i 个测试用例中得到最高得分的字符串 X。
如有多种可能的结果,输出任意一种均可。
输入输出样例
输入#1
5 4 ABBA 5 AAAAA 6 BBBBBB 7 ABABABA 20 AAABBBBBBBBAAABBBABA
输出#1
1333 12321 333333 1313212 33311111133121111311
说明/提示
- 1≤T≤105
- 1≤N≤106
- S 由字符
A和B组成 - 所有测试用例中的 N 之和不超过 106
样例解释
以每个字符的处理步骤举例说明变量 (h1,h2,h3,P) 的变化:
- 第一个测试用例处理结果为 (0,0,0,0)→(2,0,0,0)→(2,1,1,0)→(2,2,2,1)→(2,2,4,1),所以最大得分为 1。
- 第二个测试用例处理结果为 (0,0,0,0)→(2,0,0,0)→(2,2,0,0)→(2,2,2,1)→(2,4,2,1)→(4,4,2,1),最大得分为 1。
- 第三个、第四个和第五个测试用例的得分最大值分别为 0,0,2。
注意,一个测试用例可能会存在多个得分最大的 X,选择其中任意一个输出即可。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?