1527: 小梽和他的“朋友”

内存限制:128 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:65 解决:24

题目描述

幼稚园大班的小梽同学刚刚做完实验,准备和朋友们玩一个小游戏。 这个游戏的名字叫“简简单单汉诺塔”: 相传在古印度圣庙中,有一种被称为汉诺塔(Hanoi)的游戏。 该游戏是在一块铜板装置上,有三根杆(编号A、B、C),在A杆自下而上、由大到小按顺序放置64个金盘(如图)。 


游戏的目标:把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。 操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。

小梽同学在汉诺塔游戏的基础上加了点小改动,给每个圆盘都加上了他朋友的名字。 比如: 小梽同学有3个朋友,分别为“皮卡丘”,“水箭龟”,“可达鸭”。 现在小梽同学要指挥他的朋友们,从A柱上都移动到C柱上。

指挥顺序:

皮卡丘:  A--->C
水箭龟:  A--->B
皮卡丘:  C--->B
可达鸭:  A--->C
皮卡丘:  B--->A
水箭龟:  B--->C
皮卡丘:  A--->C

现在,小梽同学有很多朋友,请你帮他计算指挥顺序吧!

输入:

第一行输入整数n(1<=n<=10)

接下来的n行为朋友的名字

输出:

第一行输出最少的指挥的次数

接下来输出指挥的具体步骤。

样例输入 复制

3
pikaqiu
shuijiangui
kedaya

样例输出 复制

7
pikaqiu:  A--->C
shuijiangui:  A--->B
pikaqiu:  C--->B
kedaya:  A--->C
pikaqiu:  B--->A
shuijiangui:  B--->C
pikaqiu:  A--->C

来源/分类