#SDNU1075. 我们爱汉诺塔
我们爱汉诺塔
Description
汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。
最后将所有圆盘移动到柱上。
Format
Input
一个整数
Output
输出移动圆盘的最少次数的移动方法的每一步。每次移动输出一行,如从到,就输出
Samples
3
A->C
A->B
C->B
A->C
B->A
B->C
A->C
Hints
void move(char [源柱名], char [目的柱名]) { // 在这里输出从源柱移动到目的柱 }
void hanoi(int [圆盘数],char [源柱名],char [目的柱名],char [辅助柱名]) { if([基本情况]) { // 调用基本情况的move函数 } else { // 按照其他情况调用move函数和递归调用hanoi函数 // 参照 如果有n > 1个碟子的情况 } }