1404 - Hanoi双塔问题

通过次数

12

提交次数

21

时间限制 : 1 秒
内存限制 : 128 MB

给定 A、B、C 三根足够长的细柱,在 A 柱上放有 2n 个中间有孔的圆盘,共有 n 个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为 n=3 的情形)。

现要将这些圆盘移到 C 柱上,在移动过程中可放在 B 柱上暂存。要求:

  1. 每次只能移动一个圆盘;
  2. A、B、C 三根细柱上的圆盘都要保持上小下大的顺序。

任务:设 An 为 2n 个圆盘完成上述任务所需的最少移动次数,对于输入的 n,输出 An。

输入

输入一个正整数n,表示在A柱上放有2n个圆盘。

输出

输出仅一行,包含一个正整数, 为完成上述任务所需的最少移动次数An。

样例

输入

1

输出

2

输入

2

输出

6

提示

  • 对于 50% 的数据,1≤n≤251 ;
  • 对于 100% 的数据,1≤n≤2001。 设法建立 An 与 An−1 的递推关系式。