传送门:hdu 1207。
题意很简单,汉诺塔问题的扩展,四柱汉诺塔问题.
首先解决经典汉诺塔问题,递归做法详解。
经典汉诺塔问题还有公式,f(n)=2^n-1。推导过程也很简单,易看出f(1)=1,f(2)=3,f(n)=f(n-1)*2+1,即要把n个盘子从a搬到c,相当于把
n-1个盘子从a搬到b,然后再把第n个盘子从a搬到c,在把n-1个盘子从b搬到c,两次搬动n-1个盘子步数一样只是借助的柱子不一样。
稍加推导即得出f(n)=2^n-1。
对于四柱汉诺塔问题,可以分为如下几步,和经典汉诺塔问题极为相似:
1.先把x个盘子从a借助b、c移到d柱上,需要步数为f(x)。
2.把剩余的n-x个盘子借助b柱从a移到c柱上(不能依靠d柱是因为d柱上盘子编号比剩余的n-x个小),这又变为经典汉诺塔问题

博客探讨了经典的三柱汉诺塔问题及其公式f(n)=2^n-1,并延伸到四柱汉诺塔问题的解决策略。通过将问题拆分为三个步骤,详细解释了如何找到最小步数的解决方案,涉及递归思想和动态规划。最终,通过遍历所有可能情况,确定最小步数的最优解。
最低0.47元/天 解锁文章
1633

被折叠的 条评论
为什么被折叠?



