Ken-Ken é um jogo de quebra-cabeça semelhante ao Sudoku. Ele consiste em um tabuleiro preenchido com dígitos de 1 a 9, sem dois dígitos idênticos na mesma linha ou coluna. Depois, o tabuleiro é dividido em formas semelhantes a peças de quebra-cabeça (jaulas), cada uma com um número-alvo e um operador matemático, que devem corresponder aos dígitos que a preenchem (a ordem não importa).
+, os dígitos devem somar target.*, os dígitos devem ser multiplicados para obter target.-, os dígitos devem ter uma diferença de target. Apenas jaulas de tamanho 2 são permitidas para a subtração./, os dígitos devem ter um quociente de target. Apenas jaulas de tamanho 2 são permitidas para a divisão." ", os dígitos podem preenchê-la usando qualquer um dos operadores. Se uma jaula tiver mais de 2 células, ela só poderá ter operadores + ou *.Por exemplo, com um operator de / e um target de 4, em uma 2x1 cage, os dígitos possíveis para preenchê-la são 2 e 8.
O formato da cage é indicado por 1's. Dada uma cage, um target e um operator, seu objetivo é retornar um array com todas as combinações possíveis de dígitos (como uma string JSON).
cage = [
[0, 1],
[1, 1]
]Com target = 24 e operator = "*", a saída deveria ser:
"{{1,3,8},{1,4,6},{2,2,6},{2,3,4}}"[][]integer)O formato da jaula, indicado por 1's e 0's. 1 indica uma célula da jaula.
Restrições garantidas:
1 ≤ cage.length ≤ 31 ≤ cage[i].length ≤ 62 ≤ cage size (# of 1's) ≤ 8
target (integer)
string)O operador será +, -, *, / ou " ".
Para corresponder à saída esperada dos testes, ordene tanto os arrays internos quanto os externos e depois retorne o resultado como uma string JSON.