漢諾塔問題(三階梵塔問題)

 題目描述:有三個棍子。一個棍子上有N個盤子,另外兩個沒有盤子。盤子有編號。初始狀態那棍子上盤子編號從上往下1,2,3....n

求解狀態:全部移動到另外兩個棍子中的一個棍子上。(任意一個都行)

移動要求:編號小的盤子下面可以有編號大的盤子。反之不允許。

要求:

輸入:最大盤子高度N

輸出:每次移動的盤子號

比如兩個盤子

輸入:2

輸出:1  2   1

 

研究了一個特解。兩個的解值是121  三個的解值是1213121這個是可以遞歸的。所以後來發現4個盤子是121312141213121

寫開一點

兩個的: 1     2      1

三個的:1  2   1        3           1     2   1

四個的:1  2   1       3     1  2  1      4        1  2   1       3     1  2  1 

今年ACM的一個題目。要編程。我看也不用去搞漢諾塔了模型抽象出來了研究下數列就OK了嘎嘎。都是軸對稱數列。每個軸對稱數列中又是軸對稱數列。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章