#31 19 feb 12, 21:19
#27 Tienes toda la razón en que los barcos no están identificados, como comenta #21 (no lo leí). Con tanta abstracción se me fue la pinza y olvidé lo de Hundir la flota porque entonces necesitas tener los barcos que están juntos delimitados para saber cuándo te los hunden... Así que nada, como curiosidad queda, pero NO vale. Manita a Ulmo y a Enzo pues 
Salu2
PD: y me parece que la nono-solución peca de lo mismo xD Esperando con ansia la explicación de Gusete

Salu2

PD: y me parece que la nono-solución peca de lo mismo xD Esperando con ansia la explicación de Gusete
Mensaje editado 1 vez. Última edición 19 feb 12, 21:23
#32 19 feb 12, 21:56
#29 El objetivo es "derrotar" al oponente. No necesitas saber como son sus barcos, sólo hundírselos.
Por ejemplo, marcar con 8bits cada una de las casillas donde hay barcos sería válido. Lo malo es que ocuparía 160 bits de este modo.
..Sigo perdido en cuanto a lo de las dobleces, suena a ciencia ficción XD
Por ejemplo, marcar con 8bits cada una de las casillas donde hay barcos sería válido. Lo malo es que ocuparía 160 bits de este modo.
..Sigo perdido en cuanto a lo de las dobleces, suena a ciencia ficción XD
#33 20 feb 12, 00:05
#32 Así tambien se puede jugar, pero no lo considero el juego de hundir la flota. Ya que saber cuando has hundido un barco te hace saber cuantos y que tipos de barcos te quedan pendientes por hundir. Forma parte de la estrategia del juego. Aunque si el enunciado original no contempla eso me callo 
En cualquier caso la solucion de 89 de loco es muy ingeniosa

En cualquier caso la solucion de 89 de loco es muy ingeniosa
Mensaje editado 1 vez. Última edición 20 feb 12, 01:07
#36 20 feb 12, 10:11
#33 Yo considero que no hay estrategia cuando conoces exactamente las casillas que ocupan todos sus barcos, en un turno puedes decir todas las coordenadas y ganar.
Aunque creo que tu vas por la parte de que el código es para "generar" partidas, o algo así? Que luego el programa sea capaz de descrifrar la tira de bits, colocarlos en el tablero, saber cual es cada barco, y después permitir que dos humanos jueguen ¿puede ser?
El ejercicio estaba planteado como un "espía" que te manda los datos del oponente para derrotarlo. Pero bueno, tampoco pasa nada por resolverlo con, y sin los barcos. Más diversión xD
Ya que estamos, expongo mi manera "inspirada" en los nonogramas, que poco tiene de nonograma, pero me dio esta idea.
En el caso de ejemplo me ocupa 81 (EDIT: mentira, me ocupa 98) bits. Sería así:
Spoiler
aunque para mi gusto, la mejor y más elegante sigue siendo la de 94 de momento
Aunque creo que tu vas por la parte de que el código es para "generar" partidas, o algo así? Que luego el programa sea capaz de descrifrar la tira de bits, colocarlos en el tablero, saber cual es cada barco, y después permitir que dos humanos jueguen ¿puede ser?
El ejercicio estaba planteado como un "espía" que te manda los datos del oponente para derrotarlo. Pero bueno, tampoco pasa nada por resolverlo con, y sin los barcos. Más diversión xD
Ya que estamos, expongo mi manera "inspirada" en los nonogramas, que poco tiene de nonograma, pero me dio esta idea.
En el caso de ejemplo me ocupa 81 (EDIT: mentira, me ocupa 98) bits. Sería así:
Spoiler
aunque para mi gusto, la mejor y más elegante sigue siendo la de 94 de momento
Mensaje editado 3 veces. Última edición 20 feb 12, 10:22
#37 20 feb 12, 12:07
#36 "en un turno puedes decir todas las coordenadas y ganar" cuando pasa eso? 1 de cada millon de partidas? xD
El no saber que barcos te quedan por hundir le quita la gracia al juego de hundir la flota para mi.
Sip, yo veia el problema como un juego real por internet. Donde meter toda la configuracion en 127 bits es super optimo pensando en transferencia de datos.
Pero si problema está planteado como un "espia"... entonces ya es otro tema. Además tienes razon de que asi tienes mas opciones para devanarte los sesos.
Aunque estoy convencido de que es imposible bajar de los 94 si quieres descodificarlo luego, quites de donde quites luego tienes que ponerselos... yo ya he desistido. A ver si algun genio se le ocurre algo
El no saber que barcos te quedan por hundir le quita la gracia al juego de hundir la flota para mi.
Sip, yo veia el problema como un juego real por internet. Donde meter toda la configuracion en 127 bits es super optimo pensando en transferencia de datos.
Pero si problema está planteado como un "espia"... entonces ya es otro tema. Además tienes razon de que asi tienes mas opciones para devanarte los sesos.
Aunque estoy convencido de que es imposible bajar de los 94 si quieres descodificarlo luego, quites de donde quites luego tienes que ponerselos... yo ya he desistido. A ver si algun genio se le ocurre algo
#38 20 feb 12, 14:55
Uffff, he tenido una idea bastante loca q quizás puede reducir algo la cosa, a ver si la desarrollo un poco pero os hago un pequeño croquis:
La idea sería numerar las filas y columnas con bits, 0 si en esa columna no hay ningun barco, 1 si hay alguna casilla ocupada con un barco. De esa forma gastas solo 24 bits, pero aun tienes q resolver las colisiones, gastando nuevos bits.
De hecho gastando 1 solo bit puedes volver el peor caso (todos los barcos situados en la diagonal) en el mejor caso si usas el primer bit para decir si listaras diagonales o horizontales-verticales.
Le daré un poco al tarro pero creo q puede ser interesante de explorar, de hecho incluso usando los 2 sistemas (cruces de diagonales + cruces de horizontales-verticales) podrías desestimar algunos casos y estarias gastando solo 56 bits.
La idea sería numerar las filas y columnas con bits, 0 si en esa columna no hay ningun barco, 1 si hay alguna casilla ocupada con un barco. De esa forma gastas solo 24 bits, pero aun tienes q resolver las colisiones, gastando nuevos bits.
De hecho gastando 1 solo bit puedes volver el peor caso (todos los barcos situados en la diagonal) en el mejor caso si usas el primer bit para decir si listaras diagonales o horizontales-verticales.
Le daré un poco al tarro pero creo q puede ser interesante de explorar, de hecho incluso usando los 2 sistemas (cruces de diagonales + cruces de horizontales-verticales) podrías desestimar algunos casos y estarias gastando solo 56 bits.
#41 22 feb 12, 01:09
Asi, a bote pronto... haciendo un LZ78 de los 196 bits, con la densidad de "1" que te vas a encontrar (un 10%) creo que se reduciria un huevo. Esta noche si puedo lo programo en un pis-pas 
Edit: Pues no, no funciona... pero me ha gustado el problemilla... el record esta en 93?

Edit: Pues no, no funciona... pero me ha gustado el problemilla... el record esta en 93?
Mensaje editado 1 vez. Última edición 22 feb 12, 03:31
3
#47 22 feb 12, 17:47
3
#50 23 feb 12, 00:38
Que crack eres 
Echa el curriculum en inteligencia jeje

Echa el curriculum en inteligencia jeje
12
Favoritos
3

