013: 「終焉のカウントダウン」のヒント¶
難易度: ☆
ヒント1
1枚だけなら、A -> C と出力すれば終わります。
0枚なら、移動はありません。
ヒント2
n 枚を A から C へ移すには、まず上の n - 1 枚を A から B へ移します。
そのあと、一番大きい円盤を A から C へ移します。
ヒント3
最後に、B に置いた n - 1 枚を B から C へ移します。
この処理も、同じハノイの塔の問題です。
ヒント4
再帰関数の引数には、円盤の枚数、移動元の杭、移動先の杭、作業用の杭を渡します。
たとえば solve(n, start, goal, spare) のように考えます。
ヒント5
この手順で動かすと、n 枚の移動回数は 2**n - 1 回になります。
出力の行数が合っているかの確認に使えます。