#9003. 「第7次PTA认证」汉诺塔问题 普及−

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Wind_Rises

题目描述

给定三根柱子,初始状态下,最左边上有若干个圆盘,这些圆盘从上到下按从小到大的顺序排列。任务是将这些圆盘全部移到中间杆上,且必须保持原有顺序不变。在移动过程中,需要遵守以下规则:

1、 只能从一根柱子的顶部取出圆盘,并将其放入另一根柱子的顶部。

2、 每次只能移动一个圆盘。

3、 小圆盘必须始终在大圆盘之上。

这是一个著名的问题,几乎所有的教材上都有这个问题。由于条件是一次只能移动一个盘,且不允许大盘放在小盘上面,所以 个盘的移动次数是

18,446,744,073,709,551,615 这已经是一个天文数字,假定圆盘从小到大编号为 1, 2, ...n,请你模拟下圆盘的移动过程。

输入格式

输入为一个整数n后面跟三个单字符字符串。

整数为盘子的数目,后三个字符表示三个杆子的编号。

输出格式

输出每一步移动盘子的记录。一次移动一行。

每次移动的记录为例如 的形式,即把编号为 的盘子从 杆移到 杆。

样例

样例输入

2 a b c

样例输出

a->1->c
a->2->b
c->1->b

样例解释

以样例数据为例:三根杆从左到右依次为 a,b,c,目标是从 a 杆把盘子移到 b 杆, 移动过程中严格遵循题目上述 3 条移动规则,移动过程为:第一步将 1 号盘从 a 移到 c(a->1->c),第二步将 2 号盘从 a 移到 b(a->2->b),第三步将 1 号盘 从 c 移到 b(c->1->b),移动完毕。

数据范围与提示