Torres de Hanói

Video preview
Un video de Reducible - Towers of Hanoi: A Complete Recursive Visualization
 
Dadas 3 varillas (izquierda - 1, medio - 2 y derecha - 3), hay n discos circulares de distintos tamaños en la primera varilla. Los discos se colocan en orden creciente de tamaño, desde el más pequeño en la parte superior hasta el más grande en la parte inferior. Está permitido mover el disco superior de una varilla a otra y colocarlo encima de otro disco más grande. Por lo tanto, no se puede poner un disco más grande encima de uno más pequeño.
Se te pide imprimir todas las operaciones necesarias para trasladar todos los discos desde la primera varilla hasta la tercera, asegurando que el número de movimientos sea mínimo.

Entrada

La entrada contiene un único entero n (1 ≤ n ≤ 16), que corresponde al número de discos en la primera varilla.

Salida

El programa debe imprimir todas las operaciones requeridas para mover los discos de la primera varilla a la tercera, asegurándose de que todos los discos en cada varilla sean más pequeños que los que están debajo de ellos. La salida no debe superar operaciones.

Ejemplos

Entrada
Salida
2
1 -> 2 1 -> 3 2 -> 3
3
1 -> 3 1 -> 2 3 -> 2 1 -> 3 2 -> 1 2 -> 3 1 -> 3
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue