Vamos jogar um pouco de código-golfe!
O desafio é encontrar o vencedor de um jogo de Tic-Tac-Toe.
Isso já foi feito muitas vezes, fornecendo um quadro com um vencedor claro, mas aqui está a diferença:
As células são numeradas assim:
1|2|3
-+-+-
4|5|6
-+-+-
7|8|9
Você obtém uma matriz de exatamente 9 movimentos assim:
{3, 5, 6, 7, 9, 8, 1, 2, 3}
Isso é analisado da seguinte maneira:
- O jogador 1 marca a célula 3
- Jogador 2 marca célula 5
- O jogador 1 marca a célula 6
- O jogador 2 marca a célula 7
- O jogador 1 marca a célula 9
- Jogador 1 ganhou
Nota: O jogo não para depois que um jogador vence, pode acontecer que o jogador perdedor consiga fazer três seguidas após o jogador vencedor, mas apenas a primeira vitória conta.
Seu trabalho agora é obter 9 números como entrada e saída do jogador vencedor e da rodada em que a vitória ocorreu. Se ninguém vencer, produza algo constante de sua escolha. Você pode receber entrada e fornecer saída por qualquer média / formato padrão.
Diverta-se!
Mais alguns exemplos, conforme 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}
" - deve 3
realmente aparecer duas vezes?
[X, Y]
? Em caso de empate, podemos gerar outro valor consistente? Eu recomendo, porque imprimir essas cordas exatas não faz parte do golfe. Para idéias de desafios futuros, recomendo usar a sandbox . :-)