Introducción
Todos conocen el juego de tres en raya, pero en este desafío, vamos a introducir un pequeño giro. Solo vamos a usar cruces . La primera persona que coloca tres cruces seguidas pierde. Un hecho interesante es que la cantidad máxima de cruces antes de que alguien pierda, es igual a 6 :
X X -
X - X
- X X
Eso significa que para un tablero de 3 x 3, la cantidad máxima es 6 . Entonces, para N = 3, necesitamos generar 6.
Otro ejemplo, para N = 4, o un tablero de 4 x 4:
X X - X
X X - X
- - - -
X X - X
Esta es una solución óptima, puede ver que la cantidad máxima de cruces es igual a 9 . Una solución óptima para una placa de 12 x 12 es:
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
Esto da como resultado 74 .
La tarea
La tarea es simple, dado un número entero mayor que 0, genera la cantidad máxima de cruces que se pueden colocar sin tres X adyacentes en una línea a lo largo de una fila, columna o diagonalmente.
Casos de prueba
N Output
1 1
2 4
3 6
4 9
5 16
6 20
7 26
8 36
9 42
Se puede encontrar más información en https://oeis.org/A181018 .
Reglas
- Este es el código de golf , por lo que gana el envío con la menor cantidad de bytes.
- Puede proporcionar una función o un programa.