Hannuobeitaゲーム

ハノイの塔:ハノイの塔(ハノイの塔として知られている)の問題は、教育玩具の古代インドの伝説に由来します。梵天はポストに大きさの順に64枚のディスクとボトムアップの山から、3つのダイヤモンドの柱を行うために、世界を作成したとき。

再び他の柱の上に配置され、下からサイズの順にディスクにブラフマーブラフマンコマンド。そして、所定のディスクは、ディスクが唯一の3つの列の間を移動することができ、小型のディスクに拡大することはできません

AHP @:A-> B A-> C B-> C A:1 2 - > C:1 2。

 

書式#include <iostreamの>
名前空間stdを使用。

INT回= 0;

ボイド移動(チャーSRC、チャーDST)
{
回++。//移动次数
はcout <<回<< ":" << SRC << "--->" << DST <<てendl;
}

ボイドhanNuoTower(INT nを、最初の文字 、文字中間、チャー最後)// N: 最初のプレートの数:正のプレートの中間の最初のメモリ:最後のプレートへの転送:最終皿を格納
{
IF(N - == 1) //再帰出口を忘れないで
移動(最初、最後の);

{
hanNuoTowerを(N - 1、最初、最後、MID。);
(最初、最後)の移動;
hanNuoTower(N - 1、MID、まず、最後。);
}
}

INTのmain()
{
int型のn = 4。
hanNuoTower(N、 'A'、 'B'、 'C')。

0を返します。

}
// 1:A ---> C
// 2:A ---> B
// 3:C ---> B
// 4:A ---> C
// 5:B ---> A
// 6:B ---> C
// 7:A ---> C


//1: A--->B
//2 : A--->C
//3 : B--->C
//4 : A--->B
//5 : C--->A
//6 : C--->B
//7 : A--->B
//8 : A--->C
//9 : B--->C
//10 : B--->A
//11 : C--->A
//12 : B--->C
//13 : A--->B
//14 : A--->C
//15 : B--->C

おすすめ

転載: www.cnblogs.com/xcb-1024day/p/11334980.html