#P191. 汉诺塔

    ID: 439 Type: Default 1000ms 512MiB Tried: 0 Accepted: 0 Difficulty: (None) Uploaded By: Tags>信息学奥赛导学(C++语言基础入门)

汉诺塔

题目描述

汉诺塔(Tower of Hanoi)是一个古老而著名的数学谜题,其起源与印度的一个神话故事有关。传说中,主神布拉玛创造了一个由64个圆盘组成的塔,最初这些圆盘都叠放在柱子𝐴上,按照从大到小的顺序排列,最大的在底部,最小的在顶部。此外,还有两个空柱子,布拉玛命令僧侣将所有圆盘从柱子𝐴移动到柱子 𝐶。然而,布拉玛规定了两个关键的移动规则:

1.一次只能移动一个盘子。 2.永远不能将较大的盘子放在较小的盘子上。 现在,我们已知汉诺塔的圆盘层数为 𝑁(1≤N≤10),任务是找到一种策略,以最少的移动步数将所有圆盘从柱子 𝐴移动到柱子C,请输出最佳的移动步骤。

输入数据 1

3  

输出数据 1

A To C  
A To B  
C To B  
A To C  
B To A  
B To C  
A To C