問題描述 :
給定三根杆a、b、c和大小不同的幾個盤子。這些盤子按尺寸遞減順序套在a桿上,最小的在最上面。現在的任務是把這些盤子從a杆移到c桿且保持原來堆放順序。在實現任務時,每次只能移動乙個盤子,且任何時刻不允許大的盤子放在小的盤子上面,b杆可以作為輔助存放杆。求:總共有n個圓盤時,搬動過程中的第m步是從哪個桿到哪個杆。
輸入說明 :
你的程式需要從標準輸入裝置(通常為鍵盤)中讀入多組測試資料。每組輸入資料由一行組成,每行輸入乙個整數表示盤子數n,1≤n≤10,以及步數m,兩個資料之間以乙個空格分隔。行首和行尾沒有多餘的空格,兩組資料之間也沒有多餘的空行。
輸出說明 :
對每組測試資料,你的程式需要向標準輸出裝置(通常為啟動該程式的終端)依次輸出一行對應的答案,該行中輸出第m步移動的情況,如第m步是從a移到b,則輸出「a--b」(不包括引號)。如果移動過程不存在第m步,則輸出「none」 (不包括引號)。
兩組資料之間無空行,第一組前及最後一組後也無空行。
輸入範例 :
2 32 4
輸出範例 :
b--c
none
#includeint step=0;
int m=0;
int flag=0;
void move(int id,char x,char y)
}void hanoi(int n,char a,char b,char c)
int main()
} return 0;
}
東華大學OJ56 漢諾塔移動問題
56 漢諾塔問題的第m步給定三根杆a b c和大小不同的幾個盤子。這些盤子按尺寸遞減順序套在a桿上,最小的在最上面。現在的任務是把這些盤子從a杆移到c桿且保持原來堆放順序。在實現任務時,每次只能移動乙個盤子,且任何時刻不允許大的盤子放在小的盤子上面,b杆可以作為輔助存放杆。求 總共有n個圓盤時,搬動...
高階56 漢諾塔問題的第m步
56 漢諾塔問題的第m步 問題描述 給定三根杆a b c和大小不同的幾個盤子。這些盤子按尺寸遞減順序套在a桿上,最小的在最上面。現在的任務是把這些盤子從a杆移到c桿且保持原來堆放順序。在實現任務時,每次只能移動乙個盤子,且任何時刻不允許大的盤子放在小的盤子上面,b杆可以作為輔助存放杆。求 總共有n個...
OJ漢諾塔問題
題目 如圖所示的三根針,其中a針上穿好了由大到小的64片金片,不論白天黑夜,總有乙個和尚在按照下面的法則移動金片 一次只移動一片,不管在哪根針上,小片必須在大片上面。和尚們預言,當所有的金片都從a針移到c針上時,世界就將在一聲霹靂中消失,這就是所謂的漢諾塔。請程式設計求出將a針上所有金片移到c上的步...