题库练习 汉诺塔(4)

A71362 | 汉诺塔(4)

来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0

题目描述

汉诺塔的问题大家都已经很熟悉了,有三个柱子,第 1A 柱子上有一些大小不一的 n 个金片,初始状态下保证金片从上到下按照从小到大的顺序叠放,并按照 1 \sim n 的顺序编号。

要把金片从 A 柱移动到 C 柱,可以借助 B 柱,移动过程中不能出现大金片在小金片上面的情况。

现增加一条规则:移动过程中,只允许将金片移到相邻的柱子,也就是可以从 A 柱移动金片到 B 柱,但不能从 A 直接移动金片到 C 柱;也就是说,每次移动一定会移动到 B 柱,或者从 B 柱移出。

请问:如果有 n 个金片需要从 A 柱移动到 C 柱,应该怎样移动。

输入格式

一个整数 n ,代表 A 柱上金片的数量。(n≤5

输出格式

输出若干行,第 i 行输出第 i 步需要将哪个立柱上的金片移动到哪个立柱。

输入输出样例

输入 #1
2
输出 #1
A To B
B To C
A To B
C To B
B To A
B To C
A To B
B To C
C++ 编辑器
输入
输出