Batalla Naval IV

domingo, 14 de septiembre de 2003

Atención: Peligro de post largo

Hace unos días, había publicado esta Batalla Naval y había prometido escribir una explicación de como se resuelve paso a paso.


Prueben por su cuenta antes de ver la explicación.

Algunas cosas que tienen que saber:

El juego:
Se trata de descubrir la ubicación de 10 barcos repartidos en el tablero.
Los barcos son: 1 acorazado (de 4 casillas), 2 cruceros (de 3 casillas), 3 destructores (de 2 casillas) y 4 submarinos (de una casilla).

Las reglas:
Los barcos están colocados siguiendo las filas y columnas (nunca en diagonal) y no se tocan entre sí (ni siquiera por las esquinas). Esto último equivale a decir que en todas las casillas que rodean a un barco hay agua.

Las pistas:
En la columna de la derecha y en la fila inferior se colocaron algunos números.
Estos indican la cantidad de casillas ocupadas por la flota en la respectiva fila o columna.
También se conocen algunas casillas ocupadas por la flota. La forma nos está indicando también si se trata de un extremo o del centro de un barco o de un submarino. No fue el caso de este problema, pero también se suelen indicar algunas casillas ocupadas con agua.

La solución:
Bueno. A resolver. ¿Por donde empezamos?
Hay que comenzar por lo obvio.
Algunas filas (E, G, I) y columnas (5, 10) tienen un 0 por lo que les hacemos una marca para indicar que allí no hay ningún barco.
También tachamos las casillas alrededor de los barcos que aparecen parcialmente colocados.
Fijensé en la columna 1: Hay un uno el cual está cumplimentado con la casilla ocupada en D1 por lo que podemos tachar el resto de la columna.
Es interesante el caso de la columna 2. Hay un dos. La forma de la casilla D1 nos indica que D2 también estará ocupada y junto a J2 completan la columna. Podemos tachar las casillas restantes.

El tablero va quedando así:

Una buena medida para continuar es preguntarnos ¿Donde puede estar el barco de 4 casillas?
En principio tenemos dos posibilidades: la fila J o la columna 8 (en todas las demás hay menos de 4 casillas ocupadas).
Gracias a las casillas que ya hemos tachado, vemos que el barco que comienza en J2 puede tener como máximo tres casillas de largo. El acorazado entonces solo puede ir en la columna 8. Lo colocamos, tachamos las casillas que lo rodean y, ya que estamos, vemos que la fila B ha quedado completa y también podemos tachar lo que queda.

Hasta ahora vamos así:
Es importante que, luego de colocar cualquier barco, hagan una nueva revisión de todas las filas y columnas ya que la situación cambia con cada deducción.
Por ejemplo:
La fila C tiene 3 casillas ocupadas y solo nos quedan tres disponibles. Las marcamos.
Ya sabíamos que D2 estaba ocupado por lo que la fila D también está completa. Marcamos lo que queda.
¿Donde van los dos cruceros de tres casillas? Uno evidentemente en la fila J ( j2, j3 y j4). El otro en la fila F. Hay dos posibilidades: (f6,f7,f8) o (f7,f8,f9). Lo que es seguro es que (f7,f8) están ocupadas y las marcamos.

ya nos acercamos al final.
Revisamos lo que nos falta poner: dos destructores, un submarino y completar un crucero
Las casillas que quedan libres lo hacen casi evidente.
La solución queda así:
Últimos consejos:
El razonamiento seguido es bastante lógico pero se podrían haber intentado otros caminos u otro orden. A veces comenzamos con una deducción y se nos abren muchos caminos a seguir. Otras veces comenzamos por otro lado y no nos deja muchas opciones para seguir razonando. Es cuestión de suerte, aunque con el tiempo y la práctica uno termina desarrolando un cierto olfato acertijero que nos dice cual es el mejor lugar para comenzar.

Suele ocurrir también que llega un momento en que no hay más deducciones para realizar. En estos casos no nos queda más remedio que hacer algún tanteo (si coloco este barco aquí... no me queda lugar para el otro, entonces pruebo de ponerlo mas allá...).
Trato de que mis problemas de Batalla Naval se resuelvan con un máximo de razonamiento y un mínimo de tanteo aunque, claro, no siempre me sale así :-)

Si tienen dudas, comentarios u otro métodos, no dejen de comentarlo.

Nuevo problema:
Eso mismo. Les dejo uno para que resuelvan y vean si entendieron las explicaciones.

5 comentarios:

c_u_m_i_c... dijo...

1 acorazado --> F2-F3-F4-F5
1 crucero --> A4-B4-C4
1 crucero --> I7-I8-I9
1 destructor --> C6-C7
1 destructor --> C10-D10
1 destructor --> J4-J5
1 submarino --> B2
1 submarino --> G9
1 submarino --> H5
1 submarino --> J2

c_u_m_i_c... dijo...

vaya, por una vez llegué primero... ;D

Markelo dijo...

Bien Cumic. Perfecto.

Aunque vos ya dominabas el tema desde antes. Me gustaría algún comentario sobre si les sirvió la explicación para resolverlo.

jader dijo...

enviiame mas de estos por favor

ultra dijo...

Me parece que este sitio es muy bueno, solo hay un problema NO estendi la explicacion, y estoy muy preocupado porque tengo que desarrollar este juego utilizando PHP y javascripts y no tengo idea como empezar, si me pueden indicar como empezar a crear la partida os agradeceria mucho.

aqui les dejo mi correo por si algo sofi_387@yahoo.com
gracias de antemano