#1976. 汉诺塔问题

汉诺塔问题

說明

1919世紀末,在歐州的商店中出售一種智力玩具,在一塊銅板上有三根杆,最左邊的杆上自上而下、由小到大順序串著由6464個圓盤構成的塔。 目的是將最左邊杆上的盤全部移到中間的杆上,條件是一次只能移動一個盤,且不允許大盤放在小盤的上面。 這是一個著名的問題,幾乎所有的教材上都有這個問題。 由於條件是一次只能移動一個盤,且不允許大盤放在小盤上面,所以6464個盤的移動次數是:1844674407370955161518446744073709551615這是一個天文數位,若每一微秒可能計算(並不輸出)一次移動,那麼也需要幾乎一百萬年。 我們僅能找出問題的解決方法並解决較小NN值時的漢諾塔,但很難用電腦解决6464層的漢諾塔。 假定圓盤從小到大編號為12...1,2,. ..

輸入格式

輸入為一個整數NN<20N(N<20)後面跟三個單字元字串。 整數為盤子的數目,後三個字元表示三個杆子的編號。

輸出格式

輸出每一步移動盤子的記錄。 一次移動一行。 每次移動的記錄為例如a->3->b的形式,即把編號為3的盤子從a杆移至b杆。

樣例

2 a b c
a->1->c
a->2->b
c->1->b