P13021

汉诺塔问题

难度 3 级 小学 算法入门 递归
讨论 统计 360通过 949提交 37.9%通过率 旧版界面
时间限制 1 秒 内存限制 256 MB

题目描述

设有n个大小不等的中空圆盘,按照从小到大的顺序叠套在立柱A上,另有两根立柱B和C。现要求把全部圆盘从A柱(称为柱源)移到C柱(称为目标柱),移动过程中可借助B柱(称为中间柱)。移动时有如下的要求: 1)一次只许移动一个盘。

2)任何时候、任何柱子上不允许把大盘放在小盘上边。

3)可使用任意一根立柱暂存圆盘。

问:如何用最少步数实现n个盘子的移动?请打印出具体移动方案。

输入

一行一个正整数n,1≤n≤18。

输出

输出若干行,第i行表示第i步的移动方案。具体格式参见输出样例。

样例

样例 1
输入
3
输出
A->C
A->B
C->B
A->C
B->A
B->C
A->C

来源

课课通

Tab 缩进 · 提交后可在下方查看评测状态
请先登录后再提交