Nombre Password [ Regístrate ]

El salto del caballo (OIE 5 - 2001) - Solución

 

La resolución del problema se basa en un algoritmo "trial and error", es decir, backtracking.

Al principio, se coloca un caballo en la posición inicial y se almacena en la posición 1 del array Lista. A continuación se coloca un caballo "hijo" en la primera dirección de las ocho posibles y se almacena en la posición 2. Así se continúa hasta llegar al número de posición igual al número de casillas visitables (que se precalcula al leer la entrada).

Cuando no sea posible mover un caballo en la dirección deseada se pasa a la siguiente dirección y cuando se agoten las 8 direcciones posibles se produce la "vuelta atrás", se quita el caballo en la posición n en la que se esté y se vuelve a la posición n-1, donde se probará la siguiente dirección. En el caso en que se agotaran las 8 direcciones posibles desde la primera casilla sería el caso insatisfactible.

Código

Código fuente en C

Código fuente en Pascal



© (2001-2008) ALGORITMIA.NET - Política de privacidad