CF2092D.Mishkin Energizer
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
为了准备与老朋友 Fernan 的决斗,Edmond 正在制作一种名为 "Mishkin Energizer" 的能量饮料。该饮料由一个长度为 n 的字符串 s 构成,仅包含字符 L、I 和 T,分别对应饮料中三种不同物质的含量。
当饮料中所有三种物质的数量相等时,我们称其为平衡的。为了增强气场并确保决斗胜利,Edmond 必须通过以下操作使初始字符串变为平衡状态:
- 选择一个下标 i 满足 si=si+1(此时 i+1 必须不超过字符串当前长度)。
- 在它们之间插入一个字符 x(可以是 L、I 或 T),且满足 x=si 和 x=si+1。
帮助 Edmond 通过不超过 2n 次操作使饮料平衡并赢得决斗。若存在多种解,可输出任意一种。若不可能实现,需报告此情况。
输入格式
每个测试包含多个测试用例。输入数据第一行包含一个整数 t (1≤t≤100) —— 测试用例数量。接下来是测试用例描述。
每个测试用例的第一行包含一个整数 n (1≤n≤100) —— 字符串 s 的长度。
每个测试用例的第二行包含一个长度为 n 的字符串 s,仅由字符 L、I 和 T 组成。
输出格式
对于每个测试用例,若无解则输出 −1。否则:
- 第一行输出一个整数 m (0≤m≤2n) —— 执行的操作次数。
- 接下来的 m 行中,第 l 行输出一个整数 i (1≤i<n+l−1),表示在第 i 和 i+1 个字符之间插入新字符。该操作必须满足 si=si+1。
若有多种解,可输出任意一种。注意本题不要求最小化操作次数。
输入输出样例
输入#1
3 5 TILII 1 L 3 LIT
输出#1
4 1 2 3 4 -1 0
说明/提示
第一个测试案例中,可执行以下操作序列:TILII → TLILII → TLTILII → TLTLILII → TLTLTILII。
第二个测试案例中无法进行任何操作,答案为 −1。
第三个测试案例中初始字符串已满足三种物质数量相等。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?