汉诺塔3(递推)

题目链接
题意:在原汉诺塔的原型下加上一个限制条件:每次盘子只能移动到相邻的柱子上。求n个盘子移动次数。
解法:设将n个盘子从A柱移动到C柱移动盘子次数为a[n],将上面n-1个盘子看成一个整体。
1、将n-1个盘子从A柱移动到C柱:a[n-1]
2、将大盘子从A柱移动到B柱:1
3、将n-1个盘子从C柱移动到A柱:a[n-1]
4、将大盘子从B柱移动到C柱:1
5、将n-1个盘子从A柱移动到C柱:a[n-1]
可得递推式:a[n] = 3*a[n-1] + 2 .

dp[1] = 2 ;
dp[i] = 3*dp[i-1] + 2;
posted @ 2020-04-12 12:31  无名菜鸟1  阅读(476)  评论(0编辑  收藏  举报