Introdução
Todo mundo conhece o jogo da velha, mas neste desafio, vamos apresentar uma pequena reviravolta. Nós vamos apenas usar cruzes . A primeira pessoa que coloca três cruzamentos consecutivos perde. Um fato interessante é que a quantidade máxima de cruzamentos antes que alguém perca é igual a 6 :
X X -
X - X
- X X
Isso significa que, para uma placa 3 x 3, o valor máximo é 6 . Portanto, para N = 3, precisamos gerar 6.
Outro exemplo, para N = 4, ou uma placa 4 x 4:
X X - X
X X - X
- - - -
X X - X
Esta é uma solução ideal, você pode ver que a quantidade máxima de cruzamentos é igual a 9 . Uma solução ideal para uma placa 12 x 12 é:
X - X - X - X X - X X -
X X - X X - - - X X - X
- X - X - X X - - - X X
X - - - X X - X X - X -
- X X - - - X - - - - X
X X - X X - X - X X - -
- - X X - X - X X - X X
X - - - - X - - - X X -
- X - X X - X X - - - X
X X - - - X X - X - X -
X - X X - - - X X - X X
- X X - X X - X - X - X
Isso resulta em 74 .
A tarefa
A tarefa é simples, dado um número inteiro maior que 0, gera a quantidade máxima de cruzamentos que podem ser colocados sem três X's adjacentes em uma linha ao longo de uma linha, coluna ou na diagonal.
Casos de teste
N Output
1 1
2 4
3 6
4 9
5 16
6 20
7 26
8 36
9 42
Mais informações podem ser encontradas em https://oeis.org/A181018 .
Regras
- Isso é código-golfe , então a submissão com a menor quantidade de bytes ganha!
- Você pode fornecer uma função ou um programa.