Dado N monedas para dos jugadores que juegan un juego. Cada jugador puede elegir 1 o 2 monedas en un turno. El jugador que recoge las últimas monedas gana. Si juegan de manera óptima, ¿qué jugador ganará el juego?

En este caso, el jugador 1 gana 2/3 juegos y el jugador 2 gana 1/3 juegos. ¿Por qué? Dejame explicar.

Hay tres situaciones que ocurren, ya sea que la cantidad total de monedas encaja en 3n, 3n + 1 o 3n + 2. Si hay 3 o 6, o 9, o 12, etc., entonces se garantiza que el Jugador 2 ganará asumiendo un juego perfecto. Veamos cómo funcionaría eso.

El jugador 1 puede tomar 1 o 2, no importa. De cualquier manera, el jugador 2 tomará la tercera moneda, pero no la cuarta. El jugador 1 solo puede tomar el 4to, pero el jugador 2 aún tomará el 6to. Entonces, si el Jugador 1 toma el 7 ° y 8 °, el Jugador 2 obtendrá el 9 °. Ahora, haga lo que haga el jugador 1, el jugador 2 tomará el 12 y ganará. Esto también se aplicaría a la moneda 15, 60, 999, no importa. Mientras la cantidad total de monedas esté en la tabla de tres veces, el Jugador 2 gana.

Si el total no cabe en la tabla de tres veces, entonces el Jugador 1 gana asumiendo el juego perfecto. Si el número total de monedas es 4, 7, 10, 13, etc. El jugador 1 gana al tomar solo una moneda al comienzo, y el jugador 2 no puede evitar que el jugador 1 alcance el siguiente hito en esa secuencia. Si el número total de monedas es 5, 8, 11, 14, etc., los hitos en esa secuencia son 2, 5, 8, etc. Una vez que el jugador 1 toma 2 monedas, gana con un juego perfecto.

Supongamos que los dos jugadores son ‘A’ y ‘B’, con ‘A’ teniendo el primer movimiento.
‘B’ ganará el juego cuando ‘N’ = 0,3,6,9 … para otros valores de ‘N’, ‘A’ gana el juego.

Tutorial- Juegos de algoritmos – topcoder

Consulte esto: Página en umd.edu

More Interesting

Cómo diseñar un algoritmo de movimiento para un robot hexápodo

¿Cuál es la importancia de agregar un factor de ponderación en el algoritmo de mínimos cuadrados?

¿Por qué la notación O grande es más común si la notación theta grande nos da más información?

¿Debo usar kits de herramientas como scikit-learn para comenzar con el aprendizaje automático?

¿El uso de algoritmos en una clave de contraseña típica de 256 bits que siempre está cambiando pero que aún se muestra al usuario (como en un teléfono, por ejemplo) para crear código requeriría supercomputadoras más rápidas disponibles para superarlo?

¿Cómo hacen las ligas profesionales los horarios?

Cómo encontrar los cambios mínimos necesarios para convertir una cuerda en un palíndromo

¿Por qué es importante el análisis de algoritmos?

Como desarrollador web full stack con 1 año de experiencia, ¿sería beneficioso para mí aprender algoritmo y estructura de datos?

Quiero escribir un código que reproduzca 10 segundos de audio, luego pause durante 15 segundos y luego reproduzca los siguientes 10 segundos, etc. ¿Cómo lo haría?

Si una cadena de números contiene todas las demás cadenas de números, ¿eso significa que la cadena también se contiene estrictamente a sí misma?

¿Hay alguna manera / hay algoritmos para dividir los caracteres chinos en radicales?

¿Qué tan útil es el algoritmo genético?

Si descubrieras un algoritmo simple que encuentra solo y todos los primos, ¿para qué podría usarse? ¿Es esto posible?

¿Desde dónde debemos comenzar a aprender IA, aprendizaje automático y algoritmos?