0

これは、元のハノイの塔の問題のバリエーションです。同じルールが適用されますが、n 個のディスクのスタックが 1 つだけではなく、2 つになります。左側の極に赤い円盤の 1 つのスタックと、右側に紫色の円盤の別のスタック。最終的な構成は、左が紫、右が赤になります。ポールは全部で3本。

この問題を解決するアルゴリズムの疑似コードを理解/作成するのに苦労しています。助けてください。

4

2 に答える 2

2

あなたが提示した問題は、一般的には解決できません。ウィキペディアによると、最も単純なマルチスタック ゲームには 2 つのスタックと 4 つのポールがあり、一般にスタックの 2 倍のポール/ペグがあります。

2 スタック x 3 極の場合、n > 1 の場合、あまり遠くまで到達できないことがすぐにわかります。最小の 2 つのディスクが 2 つまたは 1 つの極の上部を占有します。したがって、2 番目に小さい 2 つのディスクを交換することはできません。これは、常に 1 つの一時的な極が必要になるためです。

于 2009-09-07T02:22:15.163 に答える
0

これは宿題なので、答えを出すのは間違っているので、ハノイの塔の問題をグラフィカルに解くことをお勧めします。

次に、変更を追加し、元のソリューションが新しい変更でどのように機能するかを確認します。

オリジナルがどこで失敗するかを確認する必要がありますが、グラフィカルに見ながら変更を加えた方が簡単です。

グラフィック ソリューションを実行しやすい言語を選択すると、これを非常に迅速に実行できます。

たとえば、TCL/TK も簡単ですが、GWT や Rails が良い選択かもしれません。

于 2009-09-07T02:05:01.270 に答える