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的递推关系式。

加入题单

上一题 下一题 算法标签: