miércoles, enero 02, 2008

Sexta competencia: Doble y Nada

Bueno, ha pasado algún tiempo y la encuesta no ha dado resultados definidos; así que me tomo la libertad de elegir un juego nuevo para la sexta competencia, mientras pondero los demás juegos y propuestas pendientes.
El juego lo adapté de una discusión en el foro de Little Golem; es de naturaleza numérica.


Reglas del juego


En Doble y Nada juegan todos los participantes simultáneamente. En cada ronda, cada jugador elige un número entero positivo a gusto; el que elige el mayor gana un punto. Pero atención: si dicho número es mayor o igual que el doble del segundo mayor, se lo anula y se vuelve a evaluar el ganador.
Dicho de otro modo: gana el que elige el número más grande que sea menor que el doble del número inmediatamente menor elegido por otro jugador.

En caso de que varios jugadores elijan un mismo número ganador, todos ellos ganan el punto.

Un ejemplo:
  • Los jugadores eligen los números 8, 10, 20 y 1000.
  • Como 1000 es mayor o igual que 20 * 2, se anula el 1000.
  • Como 20 es mayor o igual que 10 * 2, se anula el 20.
  • Queda como ganador el 10, que es menor que 8 * 2.

Cómo participar

Podrán enviarme sus algoritmos en formato verbal, o en forma de código fuente, antes del sábado 12 de febrero de 2008.

El protocolo que deberán cumplir los programas presentados en forma de código es el siguiente:
  1. Escribir la jugada, en formato de número decimal, hacia la salida estándar (incluyendo un carácter de fin de línea).
  2. Leer una línea completa desde la entrada estándar. Si dicha línea es la palabra "fin", terminar normalmente. En caso contrario, dicha línea será el conjunto de números elegidos por todos los jugadores, en formato decimal, separados por un espacio.
    Ejemplo:
    43 8866 300 1 23894 1 44
    El orden de las jugadas siempre será el mismo; vale decir que el primer número de la lista siempre será el correspondiente al jugador A, el segundo al B, etc.
  3. Volver al paso 1.

5 comentarios:

Anónimo dijo...

Muy bueno Marcos!
Pregunta: el algoritmo solamente consiste de una secuencia de números? O se pueden usar otras variables? (como número de jugadores, ganador de ronda anterior, etc)
Abrazote,

Pablo

Marcos dijo...

Todo lo que el algoritmo puede usar lo lee en la línea de entrada: «dicha línea será el conjunto de números elegidos por todos los jugadores, en formato decimal, separados por un espacio.»
O sea, leyendo las sucesivas líneas el algoritmo va teniendo toda la información sobre la partida: cantidad de jugadores y número jugado por cada uno en cada ronda.

¡Saludos y espero tu algoritmo!

Jean Manuel Morales dijo...

Disculpe por el inglés...

Hi Marcos! I'm very happy to see a new tournament.

The game seems very interesting, but I have a doubt: is there an upper limit on the number played by the algorithm? Maybe there's an implicit limit (like 65k) for an Integer or something like that?

I fear that by "antes del sábado 12 de febrero " you really mean 02/02 (pity I read your post only yesterday!). Verdad?

Bye! Jean

Marcos dijo...

Jean Manuel: no hay límite en el número jugado. Puede ser cualquier entero positivo.
El límite para presentar los algoritmos es el 12 de febrero, o sea 12/02/2008.

Jean Manuel Morales dijo...

Bueno, entonce tengo un poquito mas de tiempo! Hasta pronto!

Bye, Jean