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上。
请你输出每一步的移动是哪个盘子从哪根柱子移动到哪根。
输入
第一个整数表示盘子的数目;紧接着个字符表示三个杆子的编号。
输出
输出移动的步骤,每行输出一次移动,形式如:"a->3->b"表示把编号为3的盘子从'a'杆移至'b'杆。
样例输入
2 a b c
样例输出
a->1->c
a->2->b
c->1->b