P16087 [ICPC 2024 NAC] Magic Bean
题目描述
:::align{center}

:::
“魔法豆”是一种结合了指尖陀螺和益智玩具的装置,有 $ 30 $ 个彩色珠子在三个圆形轨道中移动。在复原状态下,上方的圆环包含十个不可区分的橙色珠子,左下方的圆环包含十个不可区分的灰色珠子,右下方的圆环包含十个不可区分的红色珠子。每个圆环中的珠子可以独立旋转。此外,中间还有一个圆环可以旋转,旋转时会交换三个圆环之间连续的三个珠子。
你的兄弟刚刚借走了你的魔法豆,并随意旋转了这些圆环,打乱了珠子。你的任务是通过找到一系列合法的旋转操作,使装置恢复到复原状态。你不需要找到最短的解,但你的解使用的步数不应超过 $ 240 $ 步。给定的输入是经过至多 $ 240 $ 步操作后打乱的状态。
输入格式
输入包含恰好三行。每行是一个长度为十的字符串,仅由字符 `o`、`g` 和 `r` 组成。第一行描述上方圆环中的十个珠子,第二行描述左下方圆环中的珠子,第三行描述右下方圆环中的珠子。
字符 `o` 表示橙色珠子,`g` 表示灰色珠子,`r` 表示红色珠子。珠子按顺时针顺序列出,编号与图中一致。
输入配置是通过对复原状态应用至多 $ 240 $ 步操作后得到的结果。
输出格式
输出第一行一个整数 $ k $($ 0 \le k \le 240 $),表示你解决该谜题所需的步数。
如果 $ k > 0 $,接下来输出 $ k $ 行,每行一个操作,按顺序列出。每个操作由一个字符表示旋转哪个圆环,紧接着一个数字表示顺时针旋转的步数。上方圆环用 `o` 表示,左下方圆环用 `g` 表示,右下方圆环用 `r` 表示,中间圆环用 `c` 表示。对于前三个圆环,旋转步数为 $ 1 $ 到 $ 9 $;对于中间圆环,旋转步数为 $ 1 $ 到 $ 2 $。
下面的两张图片展示了两个样例的输入状态。
:::align{center}

:::
说明/提示
翻译由 DeepSeek V3.2 完成