列表

详情


NC16642. [NOIP2007]Hanoi双塔问题

描述

给定A、B、C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形)。现要将这些圆盘移到C柱上,在移动过程中可放在B柱上暂存。要求:
(1)每次只能移动一个圆盘;
(2)A、B、C三根细柱上的圆盘都要保持上小下大的顺序;
任务:设An为2n个圆盘完成上述任务所需的最少移动次数,对于输入的n,输出An

输入描述

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

输出描述

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

示例1

输入:

1

输出:

2

示例2

输入:

2

输出:

6

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

pypy3(pypy3.6.1) 解法, 执行用时: 39ms, 内存消耗: 28588K, 提交时间: 2020-09-01 10:48:33

print(2**(int(input())+1)-2)

Python(2.7.3) 解法, 执行用时: 26ms, 内存消耗: 2916K, 提交时间: 2019-02-23 15:36:41

n=input()
print 2**(n+1)-2

Python3 解法, 执行用时: 46ms, 内存消耗: 4576K, 提交时间: 2022-04-05 21:17:02

print(2**int(input())*2-2)

上一题