汉诺塔再度来袭

时间限制: 1000 ms 内存限制: 65536 kb
总通过人数: 3 总提交人数: 3

题目描述

汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了 三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定, 在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
假设三根柱子分别是A,B,C。盘子编号为1,2,3……n,最开始时,按照编号从小到大的顺序放在A柱子上。n号盘子在最下方,1号盘子在最上方。

输入

输入多组数据。
每组数据一个n,表示黄金圆盘的个数。(1<=n<=20)

输出

输出需要移动的步数和移动的具体方案。详细请参见样例。
比如1 A->C表示将1号盘子从A柱子上移到C柱子上。

输入样例

1
2

输出样例

1
1 A->C
3
1 A->B
2 A->C
1 B->C

Hint

样例解释:
Samle 1:输出的结果1 A->C 数字和字母之间有一个空格
本题请用scanf和printf进行输出,用cin和cout会超时。

相关推荐