Desafio
Dada uma placa de jogo da velha em qualquer formato, determine se é válida ou não. Se um tabuleiro puder ser o resultado de um jogo da velha, então é válido. Por exemplo, este quadro é válido:
XOX OXO XOXPelo contrário, este fórum é inválido:
XXX XXO OOO
Entrada
- Um tabuleiro completo (9/9) de jogo da velha (o resultado, não o jogo).
Regras
- O formato de entrada deve ser capaz de representar todas as 512 placas de entrada possíveis. Ele deve ser especificado, juntamente com as instruções para criá-lo, se estiver obscuro / claro. Você deve indicar as marcas do quadro individualmente.
- Deve haver duas saídas possíveis, uma para validade e outra para invalidez.
- Você pode assumir que o tabuleiro não possui pontos vazios.
Casos de teste
Válido:
XOX OXO XOX XOX XOX OXO XOO OOX OXX OXO XOX OXO
Inválido:
XXX XXX XXX OOO OOO OOO XXX OOO XXX OOO OOX XXX XXO OXO OOX
Uma ajudinha?
Uma diretoria é considerada válida (para esse desafio) se e somente se as duas condições a seguir forem válidas:
- Existem 5 X e 4 O ou 4 X e 5 O. Por exemplo,
XXX OXO XXX
é considerado inválido, porque existem 7 Xs e 2 Os. - Apenas o jogador com 5 pontos venceu ou nenhum deles venceu. Por exemplo,
XXX OOO OOX
é considerado inválido, pois a linha deO
s ou a linha deX
s serão formadas primeiro. Os dois jogadores não podem ter sua vez simultaneamente.
O atual vencedor é ...
... resposta da geléia de ais523 , com surpreendentes 26 bytes!
O O O
X O X
X O X
, para mostrar que o mesmo jogador pode ter uma linha horizontal e vertical.