jueves, 3 de febrero de 2011

Cruzar el río

Enunciado

Hay muchos problemas de este tipo. Habitualmente hay varias soluciones, que se diferencian en pocos puntos. Se trata de tener cuidado con los desplazamientos que se hacen, ya que sí puede haber más griegos que cartagineses, o más cartagineses que romanos, pero no al revés.

Todas las soluciones requieren hacer algunos viajes para llevar a un par de romanos y un par de cartagineses al otro lado, y después un viaje para llevar dos griegos que completen el grupo. Sin embargo, en un momento dado hay que hacer volver atrás un grupo de gente para que se sigan cumpliendo las reglas.

Evidentemente, la barca no puede volver sin nadie que reme, así que siempre debe estar ocupada. Una manera de hacerlo, como propone un comentario de Claudio Meller en nuestro grupo de facebook podría ser la siguiente, donde, para abreviar, se nombra a los soldados por las iniciales (y un número que representa la cantidad, si hay más de uno) que hay en un lado, en la barca o en el otro lado.

Cruzan en la barca RCG, dejando 3R3C3G en la orilla.

Dejan en la otra orilla RC y vuelve G en la barca, juntando 3R3C4G.

Cruzan 3C en la barca, quedando en una orilla 3R4G y en la otra (cuando llegan) R4C.

Vuelve R en la barca, dejando 4C en la otra orilla y en la de partida 4R4G.

Ahora cruzan 3R, quedando 1R4G, y uniéndose a la otra orilla, donde hay ahora 3R4C.

Ahora, viene el paso difícil, ya que deben volver con la barca llena. Cualquier otro movimiento nos devuelve al mismo punto en que estábamos, o incumple alguna regla.

Vuelven en la barca R2C, dejando en la otra orilla 2R2C. Cuando se unen a los de la orilla de partida, son 2R2C4G.

Ahora cruzan 2G, dejando 2R2C2G y uniéndose una cantidad idéntica en el otro lado.

De nuevo debe volver la barca llena, con RCG, dejando en el otro lado RCG y en el lado inicial 3R3C3G.

Vuelve a cruzar la barca con 3G, llegando a la orilla final RC4G y dejando en la de partida 3R3C. La barca vuelve con un C. Ahora hay en la de partida 3R4C y en la de llegada R4G.

Cruzan R2C, dejando en la de partida 2R2C y en la de llegada 2R2C4G.

Vuelve la barca con RC, dejando en la de llegada RC4G y en la de partida 3R3C.

Cruzan ahora 3C, dejando en la de partida 3R y en la de llegada R4C4G.

Vuelve ahora R, dejando en la de llegada 4C4G, y en la de partida 4R.

Cruzan 3R, dejando en la departida R y en la de llegada 3R4C4G.

Vuelve R en la barca, dejando en la de llegada 2R4C4G y en la de partida 2R.

Cruzan los dos últimos en la barca.