255910-11 多柱Hanoi塔问题

2559   10-11 多柱Hanoi塔问题

题目描述

多柱Hanoi塔问题是3 柱Hanoi塔问题的推广。在一般情况下,给定p个塔座1,2,…,p。开始时,在塔座1 上有一叠共n 个圆盘,这些圆盘自下而上,由大到小地叠在一起。各圆盘从小到大编号为1,2,……,n。现要求将塔座1 上的这一叠圆盘移到塔座2上,并仍按同样顺序叠置。在移动圆盘时应遵守以下移动规则:
规则(1):每次只能移动1 个圆盘;
规则(2):任何时刻都不允许将较大的圆盘压在较小的圆盘之上;
规则(3):在满足移动规则(1)和(2)的前提下,可将圆盘移至1,2,…,p中任一塔座。
设计一个算法,计算完成所要求移动的最少移动次数。

对于给定的p个塔座和塔座1上的n个圆盘,计算将n个圆盘移到塔座2上需要的最少移动次数。

输入格式:

输入数据第1 行中的2 个正整数n和p分别表示有n个圆盘和p个塔座。

输出格式:

将计算出的最少移动次数输出

输入样例 复制
5 4
输出样例 复制
13

说明

0
0
通过提交
时空限制1000ms/128mb
题目来源
评测方式在线评测
题目类型
难        度