多柱漢諾塔問題「通解」 c

2022-05-31 15:09:10 字數 615 閱讀 9651

有位同學看到了我的初賽模擬卷上有一道關於漢諾塔的數學題。大概就是要求4柱20盤的最小移動次數。

他的數學很不錯,找到了應該怎樣推。

如果要把n個盤子移到另乙個柱子上,步驟如下:

把一部分盤子(靠上的r個)移到一根空柱子上,移動過程中可用的柱子有4根

將剩下的n-r個盤子移到另一根空柱子上,移動過程中可用的柱子為3根(這n-r個盤子都不能放在放有前r個盤子的柱子上)

將第一步移動的r根柱子移到n-r個盤子上方,移動過程中可用的柱子有4根

其實,他說的就是多柱漢諾塔的frame-stewart演算法的m=4時的情況

設原來有n個盤子,m個柱子

把一部分盤子(靠上的r個)移到一根空柱子上,移動過程中可用的柱子有m根

將剩下的n-r個盤子移到另一根空柱子上,移動過程中可用的柱子為m-1根(這n-r個盤子都不能放在放有前r個盤子的柱子上)

將第一步移動的r根柱子移到n-r個盤子上方,移動過程中可用的柱子有m根

設fm(n)=有m個柱子,n個盤子所需要移動的最小步數。

則fm(n)=min0

那麼這個r到底是多少呢?

那就要來列舉咯……

hdoj1207 漢諾塔II 多柱漢諾塔問題

題目鏈結 思路 首先這是個多柱漢諾塔問題,對於n階漢諾塔,具體步驟如下 1.首先我們將x個盤子移到b柱,步數為step x 2.然後將n x個盤子移到c柱,步數為2 n x 1 3.最後我們再將b柱上的x個盤子移到c柱,步數為step x 4.上面的x在1到n之間取值,對於每乙個x,我們可以求出乙個...

四柱漢諾塔

多柱漢諾塔的解析 題目鏈結 分析 現在有四根柱子a b c d,我們假設盤子從a移動到d,先把a的n個盤子拿出r個借助其他兩個柱子放到b上這是f n r 接著這個柱子就先不動,然後開始動a上剩下的r個盤子,現在b已經不能放這r個,我們只能通過c柱子把r個移動到d上去。這裡只用到了c柱子和目標柱子,所...

多柱(m柱)漢諾塔問題 解題報告 DP

今天校內賽考了一下多柱漢諾塔問題,其中有 n 個盤子,m根柱子,n 63,3 m n 1 實踐證明n 64 就會爆lo nglo ng 我們回憶一下只有三根柱子的情況 1個盤子移到第二根柱子上,再把剩下的那乙個盤子移到第三根柱子,最後再把n 1 個盤子移到第三根柱子上。如果我們用fn 來表示移動 三...