これは、元のハノイの塔の問題のバリエーションです。同じルールが適用されますが、n 個のディスクのスタックが 1 つだけではなく、2 つになります。左側の極に赤い円盤の 1 つのスタックと、右側に紫色の円盤の別のスタック。最終的な構成は、左が紫、右が赤になります。ポールは全部で3本。
この問題を解決するアルゴリズムの疑似コードを理解/作成するのに苦労しています。助けてください。
これは、元のハノイの塔の問題のバリエーションです。同じルールが適用されますが、n 個のディスクのスタックが 1 つだけではなく、2 つになります。左側の極に赤い円盤の 1 つのスタックと、右側に紫色の円盤の別のスタック。最終的な構成は、左が紫、右が赤になります。ポールは全部で3本。
この問題を解決するアルゴリズムの疑似コードを理解/作成するのに苦労しています。助けてください。
あなたが提示した問題は、一般的には解決できません。ウィキペディアによると、最も単純なマルチスタック ゲームには 2 つのスタックと 4 つのポールがあり、一般にスタックの 2 倍のポール/ペグがあります。
2 スタック x 3 極の場合、n > 1 の場合、あまり遠くまで到達できないことがすぐにわかります。最小の 2 つのディスクが 2 つまたは 1 つの極の上部を占有します。したがって、2 番目に小さい 2 つのディスクを交換することはできません。これは、常に 1 つの一時的な極が必要になるためです。
これは宿題なので、答えを出すのは間違っているので、ハノイの塔の問題をグラフィカルに解くことをお勧めします。
次に、変更を追加し、元のソリューションが新しい変更でどのように機能するかを確認します。
オリジナルがどこで失敗するかを確認する必要がありますが、グラフィカルに見ながら変更を加えた方が簡単です。
グラフィック ソリューションを実行しやすい言語を選択すると、これを非常に迅速に実行できます。
たとえば、TCL/TK も簡単ですが、GWT や Rails が良い選択かもしれません。