2009-09-07 5 views
0

Ceci est une variation par rapport au problème original de Tours de Hanoi. Les mêmes règles s'appliquent mais au lieu d'avoir seulement une pile de n disques, il y en a deux. Une pile de disques rouges sur le poteau gauche et une autre pile de disques violets sur la droite. La configuration finale devrait être le violet à gauche et le rouge à droite. Il y a un total de 3 pôles.Towers of Hanoi pseudocode de variation

J'ai du mal à comprendre/créer le pseudo-code pour un algorithme qui résout ce problème. S'il vous plaît aider.

+0

Qu'est-ce qui me manque? Une pièce du rouge au poteau vide un à la fois. Puis répétez avec du violet, puis avec du rouge à nouveau? –

+0

; -0 whoops je le vois maintenant. lol –

+0

Vous devriez montrer votre pseudo-code, en montrant que vous comprenez le problème des tours de Hanoi, et comment le modifier pour cela. Aussi, combien de disques peuvent être sur chaque poteau? Je m'attends à ce qu'il y ait des informations que vous ne donnez toujours pas pour résoudre cela correctement. Cela ne semble pas être plus difficile que le problème original, car les deux couleurs peuvent être travaillées assez facilement. –

Répondre

0

Puisqu'il s'agit de devoirs, vous donner la réponse serait erronée, je vous suggère de résoudre graphiquement le problème des Tours de Hanoi.

Ensuite, ajoutez la modification et voyez comment votre solution originale fonctionne avec la nouvelle modification.

Vous devriez voir où l'original peut échouer, mais il serait plus facile de faire la modification en la regardant graphiquement.

Si vous choisissez une langue facile à utiliser, vous pouvez le faire très rapidement. Par exemple, GWT peut être un bon choix, ou Rails, bien que TCL/TK soit également facile.

+0

J'ai un algorithme où 1. déplacer n-1 piles à droite 2. déplacer 1 disque (rouge) au milieu 3. déplacer 2n-2 piles au milieu 4. déplacer 1 disque (violet) à gauche 5. déplacer 2n-2 piles vers la gauche 6. déplacer 1 disque (rouge) vers la droite 7. trier la pile 2n-2 à chaque couleur la partie pseudocode me tue. –

+0

Si vous avez trois pôles et vous faites l'étape (1), alors vous avez violet et rouge sur le même pôle? Donc vous pouvez avoir n'importe quel nombre de disques sur chaque poteau? Ou, y a-t-il réellement 4 pôles? –

+0

3 pôles dans cette variante. –

2

Le problème que vous avez présenté n'est généralement pas résolu. Selon wikipedia, le jeu multi-pile le plus trivial a deux piles et quatre pôles, et en général il y a deux fois plus de piquets/piquets que de piles. Dans le cas 2 piles x 3 pôles, vous pouvez voir assez rapidement que pour n> 1 vous ne pouvez pas aller très loin. Les deux plus petits disques occupent le sommet de deux ou de deux pôles, et vous ne pouvez donc jamais échanger les deux plus petits deux disques, car cela nécessite toujours un poteau temporaire.

Questions connexes