loj#P4028. 「CCO 2022」Good Game
「CCO 2022」Good Game
题目描述
译自 CCO 2022 Day2 T3「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} &\texttt{ABAAB}\underline{\texttt{BB}}\texttt{AA}\\ &\texttt{AB}\underline{\texttt{AA}}\texttt{BAA}\\ &\texttt{A}\underline{\texttt{BB}}\texttt{AA}\\ &\underline{\texttt{AAA}}\\ \end{aligned} $$数据范围与提示
对于所有的数据,有 。
详细子任务附加限制及分值如下表所示。
子任务编号 | 分值 | 的范围 |
---|---|---|
1 | 12 | |
2 | 24 | |
3 | 28 | |
4 | 36 |