雙色Hanoi塔問題

2021-06-20 16:19:38 字數 748 閱讀 3167

設a,b,c是3個塔座。開始時,在塔座a上有一疊共n個圓盤,這些圓盤自下而上,由大到小地疊在一起。各圓盤從小到大編號為1,2,...,n,奇數號圓盤著藍色,偶數號圓盤著紅色。現要求將塔座a上的這一疊圓盤移到塔座b上,並仍按同樣順序疊置。在移動圓盤時應遵守以下移動規則:

規則(1):每次只能移動1個圓盤;

規則(2):任何時刻都不允許將較大的圓盤壓在較小的圓盤之上;

規則(3):任何時刻都不允許將同色圓盤疊在一起;

規則(4):在滿足移動規則(1)-(3)的前提下,可將圓盤移至a,b,c中任一塔座上。

求將塔座a上的n個圓盤移到塔座b上,並仍按同樣順序疊置最小移動次數的移動方案。

輸入有多組資料,每組資料只有一行就是n(1<=n<=10)。

對於每組資料輸出最優移動方案,方案的每一行由乙個正整數k和2個字元c1和c2組成,表示將第k個圓盤從塔座c1移到塔座c2上。

3

1 a b

2 a c

1 b c

3 a b

1 c a

2 c b

1 a b

//簡單漢諾塔問題
//解題思路:遞迴
//標程:
#include#includevoid mov(int n,char a,char b)

void dg(int n,char a, char c, char b)

}int main()

雙色Hanoi塔問題

雙色hanoi塔問題 問題描述 設a b c是3 個塔座。開始時,在塔座a 上有一疊共n 個圓盤,這些圓盤自下而上,由大到小地疊在一起。各圓盤從小到大編號為1,2,n,奇數號圓盤著藍色,偶數號圓盤著紅色,如圖所示。現要求將塔座a 上的這一疊圓盤移到塔座b 上,並仍按同樣順序疊置。在移動圓盤時應遵守以...

雙色Hanoi塔問題

題目描述 設a b c是3 個塔座。開始時,在塔座a 上有一疊共n 個圓盤,這些圓盤自下而上,由大到小地疊在一起。各圓盤從小到大編號為1,2,n,奇數號圓盤著藍色,偶數號圓盤著紅色,如圖所示。現要求將塔座a 上的這一疊圓盤移到塔座b 上,並仍按同樣順序疊置。在移動圓盤時應遵守以下移動規則 規則 1 ...

遞迴 雙色Hanoi塔問題

設a b c是3 個塔座。開始時,在塔座a 上有一疊共n 個圓盤,這些圓盤自下而上,由大到小地疊在一起。各圓盤從小到大編號為1,2,n,奇數號圓盤著藍色,偶數號圓盤著紅色。現要求將塔座a 上的這一疊圓盤移到塔座b 上,並仍按同樣順序疊置。在移動圓盤時應遵守以下移動規則 規則 1 每次只能移動1 個圓...