¡Juguemos un poco de golf de código!
El desafío es encontrar al ganador de un juego de Tic-Tac-Toe.
Esto se ha hecho muchas veces dando una tabla que tiene un ganador claro pero aquí está el giro:
Las celdas están numeradas así:
1|2|3
-+-+-
4|5|6
-+-+-
7|8|9
Obtiene una matriz de exactamente 9 movimientos así:
{3, 5, 6, 7, 9, 8, 1, 2, 3}
Esto se analiza de la siguiente manera:
- El jugador 1 marca la celda 3
- El jugador 2 marca la celda 5
- El jugador 1 marca la celda 6
- El jugador 2 marca la celda 7
- El jugador 1 marca la celda 9
- El jugador 1 ha ganado
Nota: El juego no se detiene después de que un jugador ha ganado, puede suceder que el jugador perdedor logre obtener tres seguidos después del jugador ganador, pero solo cuenta la primera victoria.
Su trabajo ahora es obtener 9 números como entrada y salida del jugador ganador y la ronda en la que ocurrió la victoria. Si nadie gana, muestra algo constante de tu elección. Puede recibir entradas y proporcionar salidas a través de cualquier media / formato estándar.
¡Que te diviertas!
Algunos ejemplos más según lo solicitado:
{2,3,4,5,6,7,1,8,9} => Player 2 wins in round 6
{1,2,4,5,6,7,3,8,9} => Player 2 wins in round 8
{1,2,3,5,4,7,6,8,9} => Player 2 wins in round 8
{3, 5, 6, 7, 9, 8, 1, 2, 3}
" - ¿ 3
realmente debería aparecer dos veces?
[X, Y]
? En caso de empate, ¿podemos generar algún otro valor consistente? Lo recomiendo, porque imprimir esas cadenas exactas no es realmente parte del golf. Para futuras ideas de desafío, recomiendo usar el sandbox . :-)