#P16087. [ICPC 2024 NAC] Magic Bean

[ICPC 2024 NAC] Magic Bean

题目描述

:::align{center} :::

“魔法豆”是一种结合了指尖陀螺和益智玩具的装置,有 30 30 个彩色珠子在三个圆形轨道中移动。在复原状态下,上方的圆环包含十个不可区分的橙色珠子,左下方的圆环包含十个不可区分的灰色珠子,右下方的圆环包含十个不可区分的红色珠子。每个圆环中的珠子可以独立旋转。此外,中间还有一个圆环可以旋转,旋转时会交换三个圆环之间连续的三个珠子。

你的兄弟刚刚借走了你的魔法豆,并随意旋转了这些圆环,打乱了珠子。你的任务是通过找到一系列合法的旋转操作,使装置恢复到复原状态。你不需要找到最短的解,但你的解使用的步数不应超过 240 240 步。给定的输入是经过至多 240 240 步操作后打乱的状态。

输入格式

输入包含恰好三行。每行是一个长度为十的字符串,仅由字符 ogr 组成。第一行描述上方圆环中的十个珠子,第二行描述左下方圆环中的珠子,第三行描述右下方圆环中的珠子。

字符 o 表示橙色珠子,g 表示灰色珠子,r 表示红色珠子。珠子按顺时针顺序列出,编号与图中一致。

输入配置是通过对复原状态应用至多 240 240 步操作后得到的结果。

输出格式

输出第一行一个整数 k k 0k240 0 \le k \le 240 ),表示你解决该谜题所需的步数。

如果 k>0 k > 0 ,接下来输出 k k 行,每行一个操作,按顺序列出。每个操作由一个字符表示旋转哪个圆环,紧接着一个数字表示顺时针旋转的步数。上方圆环用 o 表示,左下方圆环用 g 表示,右下方圆环用 r 表示,中间圆环用 c 表示。对于前三个圆环,旋转步数为 1 1 9 9 ;对于中间圆环,旋转步数为 1 1 2 2

下面的两张图片展示了两个样例的输入状态。

:::align{center} :::

gggooooooo
rrrggggggg
ooorrrrrrr
1
c2
ggooooooog
rrrggggggg
ooorrrrrrr
2
o1
c2

提示

翻译由 DeepSeek V3.2 完成