1148: 汉诺塔

文件提交:无需freopen 内存限制:128 MB 时间限制:1.000 S
评测方式:普通裁判 命题人:
提交:2 解决:1

题目描述

约19世纪末,在欧州的商店中出售一种智力玩具,在一块铜板上有三根杆,最左边的杆上自上而下、由小到大顺序串着由64个圆盘构成的塔。

目的是将最左边杆上的盘全部移到中间的杆上,条件是一次只能移动一个盘,且不允许大盘放在小盘的上面。

这是著名的汉诺塔问题,由于一次只能移动一个盘,且不允许大盘放在小盘上面,所以64个盘需要的移动次数是18,446,744,073,709,551,615次。假定圆盘从小到大编号为1, 2, ...

现在告诉你汉诺塔的盘子数目为n,第一根柱子编号为a,第二根为b,第三根为c。

最开始n个盘子都在a上,需要将他们移动到b上。

请你输出每一步的移动是哪个盘子从哪根柱子移动到哪根。

输入

第一个整数表示盘子的数目;紧接着3个字符表示三个杆子的编号。

输出

输出移动的步骤,每行输出一次移动,形式如:"a->3->b"表示把编号为3的盘子从'a'杆移至'b'杆。

样例输入

2 a b c

样例输出

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

来源/分类