23 octubre 2007

Reto Karel: La maldición de los Beepergochis

Este problema lo resolvimos con mis alumnos de 3er semestre. Bueno, aquí les presento el problema (gracias a los chavos de la Olimpiada de Informática de Guanajuato por el ejemplo), que también puedes descargar aquí, y dos soluciones que me entregaron. Estas soluciones no son las únicas posibles. ¿Puedes encontrar otra manera de hacerlos? Si lo haces, mándame un comentario para publicarlo y enriquecer el conocimiento de todos aquellos que están en búsqueda de saber en materia de programación. Este es el problema:

Historia
El Kapitán Karel Sparrow se ha topado con un misterioso cofre. Al abrir el cofre, encontró innumerables y valiosos beepergochis. Sin embargo, al sacar todos los beepergochis, en el fondo encontró una leyenda que decía: “Aquel que abra el cofre de los beepergochis, sufrirá terribles tragedias y sólo podrá librarse construyendo un cuadrado perfecto con todos los beepergochis que yacían dentro del cofre”.

Problema
Escribe un programa para indicarle a Karel cómo construir un cuadrado perfecto, con todos los beepers que tiene disponibles, a partir del lugar en donde se encuentra parado.

Consideraciones
  1. Karel comienza con la cantidad exacta de beepers para construir un cuadrado perfecto (empleando todos los beepers).
  2. Karel se encuentra mirando al norte de su mundo.
  3. No hay paredes ni beepers en el área del cuadrado en donde Karel tiene que colocar el cuadrado de beepers.
  4. No hay beepers ni paredes a un paso hacia el norte y este de los límites del cuadrado.
  5. Siempre hay pared en el sur y oeste de los límites del cuadrado.
  6. La posición inicial debe ser la esquina inferior izquierda del mundo.
  7. No importa la posición ni la orientación final de Karel.
Soluciones
A Jackqueline y a Natalia se les ocurrió esta manera de resolverlo:
Y a Carlos, el mudo, se le ocurrió esta otra:

Espero que te sean interesantes y útiles estas soluciones. ¡Hasta la próxima!
Publicar un comentario
Related Posts Plugin for WordPress, Blogger...