Ken-Ken es un juego de rompecabezas similar al Sudoku. Consiste en un tablero lleno de dígitos del 1 al 9, sin dos dígitos idénticos en la misma fila o columna. Luego, el tablero se divide en formas parecidas a piezas de rompecabezas (jaulas), cada una con un número objetivo y un operador matemático, que deben coincidir con los dígitos que la llenan (el orden no importa).
+, los dígitos deben sumar target.*, los dígitos deben multiplicarse para obtener target.-, los dígitos deben tener una diferencia de target. Solo se permiten jaulas de tamaño 2 para la resta./, los dígitos deben tener un cociente de target. Solo se permiten jaulas de tamaño 2 para la división." ", los dígitos pueden llenarla con cualquiera de los operadores. Si una jaula tiene más de 2 celdas, solo puede tener operadores + o *.Por ejemplo, con un operator de / y un target de 4, con una 2x1 cage, los dígitos posibles para llenarla son 2 y 8.
La forma de la cage se indica mediante 1's. Dados una cage, un target y un operator, tu objetivo es devolver un arreglo con todas las combinaciones posibles de dígitos (como una cadena JSON).
cage = [
[0, 1],
[1, 1]
]Con target = 24 y operator = "*", el resultado debería ser:
"{{1,3,8},{1,4,6},{2,2,6},{2,3,4}}"[][]integer)La forma de la jaula, indicada mediante 1's y 0's. 1 indica una celda de la jaula.
Restricciones garantizadas:
1 ≤ cage.length ≤ 31 ≤ cage[i].length ≤ 62 ≤ cage size (# of 1's) ≤ 8
target (integer)
string)El operador será +, -, *, / o " ".
Para que coincida con la salida esperada de las pruebas, ordena tanto los arreglos internos como los externos y luego devuélvelos como una cadena JSON.