#P10055. [CCO2022] Good Game
[CCO2022] Good Game
题目描述
Finn 正在玩一个叫做 Twos and Threes 的游戏。Twos and Threes 是一个单人游戏,它在一维棋盘上进行。在初始位置,有 个方块排成一行,每个方块标有 或 。方块从左到右编号为 到 。Finn 可以进行以下操作:
- 选择 或 个连续的方块,它们有相同的标签,将它们从棋盘上移除并将剩余的方块连接起来,从左到右重新编号方块。
如果棋盘上的所有方块都被移除,Finn 就赢得了游戏。你的任务是帮助 Finn 确定一个赢得游戏的操作序列,或者确定游戏无法获胜。
输入格式
第一行包含一个整数 。
第二行包含一个字符串 ,表示游戏开始时的标签。 中有 个字符, 中的每个字符都是 或 。
输出格式
如果存在赢得游戏的操作序列,第一行输出 ,即移动序列中的移动次数。在接下来的 行中,输出两个空格分隔的整数 表示移除位于 的方块的一次操作。
如果没有赢得游戏的操作序列,输出 。
如果有多个赢得游戏的操作序列,你可以输出任何一个。
9
ABAABBBAA
4
6 2
3 2
2 2
1 3
提示
样例解释
操作如下:
$$\begin{aligned} &\tt{ABAAB\underline{BB}AA}\\ &\tt{AB\underline{AA}BAA}\\ &\tt{A\underline{BB}AA}\\ &\tt{\underline{AAA}}\\ \end{aligned} $$数据范围
对于所有的数据,有 。
子任务编号 | 分值 | 的范围 |
---|---|---|