2312: [C++一本通-高精度计算]7.Hanoi双塔问题
Memory Limit:128 MB
Time Limit:1 S
Judge Style:Text Compare
Creator:
Submit:129
Solved:74
Description
给定a、b、c三根足够长的细柱,在a柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的。现要将这些圆盘移到c柱上,在移动过程中可放在b柱上暂存。要求:
(1)每次只能移动一个圆盘;
(2)a、b、c三根细柱上的圆盘都要保持上小下大的顺序;
任务:设an为2n个圆盘完成上述任务所需的最小移动次数,对于输入的n,输出an
Input
输入一个正整数n,表示在a柱上放有2n个圆盘。
Output
输出仅一行,包含一个正整数,为完成上述任务所需的最少移动次数an
Sample Input Copy
1
Sample Output Copy
2
HINT
50%的数据满足:1<=n<=25;
100%的数据满足:1<=n<=200。
设法建立an与an-1的递推关系式。