蓝光83 蓝光83
关注数: 101 粉丝数: 171 发帖数: 350 关注贴吧数: 41
Help me! Pond 【问题描述】 G最后在规定时间内完成了任务,Alice只能放行。 出了房间,G的左边是一条继续前进的道路,右边是一个池塘。池塘中有序的排列着一排数量相同石块和荷叶。 正在G准备向左走继续前进的时候,D和Z爬完了楼梯,出现在了池塘的另一边。D和Z可以踩着石块通过池塘,并且每步可以跨两个单位长度(假定相邻两个物体之间的距离为一个单位长度)。 当前池塘中荷叶与石块的排列如下:(字母X为荷叶,O为石块) XXXXXOOOOO 显而易见,D和Z是无法通过池塘的。正在她们一筹莫展的时候,G在岸边发现了一个机关。机关中的黑色白色石子分别代表石块和荷叶,移动石子便能够移动相应的石块与荷叶。移动规则如下: 石子靠右排列,左侧有两个空位,每次操作可以将相邻的任意两个石子移动到空位上,但左右位置不可交换。 由于G刚才搬完皇后石像,身心疲惫,她希望你帮她找到移动石子的步骤,使得D和Z可以踩着石头通过池塘。当然,时间紧迫,步骤越少越好。 【输入格式】 一个整数n(4≤n≤30),表示石块和荷叶的数量。 【输出格式】 输出移动步骤。 其中第一行为初始状态,从左到右一次为n个荷叶,n个石块,2个空位。 最后一行为末状态,规定末状态是2个空位在最左侧。 大写字母X表示荷叶,大写字母O表示石块,下划线_表示空位。 【样例输入】 6 【样例输出】 XXXXXXOOOOOO__ XXXXX__OOOOOXO XXXXXOOOOO__XO XXXX__OOOOXOXO XXXXOOOO__XOXO XXX__OOOXOXOXO XXXOXOO__OXOXO X__OXOOXXOXOXO XOXOXO__XOXOXO __XOXOXOXOXOXO
1 下一页