Sou um grande fã do jogo Creeper World, e principalmente da sequela. Você não precisa saber como esse jogo funciona para responder à pergunta. Eu só queria mencionar de onde minha pergunta se originou.
No jogo, seu objetivo é destruir os Emissores que estão gerando o Creeper, usando uma arma conhecida como anuladora.
Os anuladores podem destruir qualquer emissor neste raio:
eee
eeeee
eenee
eeeee
eee
Cada anulador PODE direcionar vários Emissores.
Seu objetivo
Dado que uma matriz que simula um mapa 2D que consiste em nada e emissores com os caracteres que você quiser, pode ser espaços e e ou números - apenas certifique-se de que sejam distinguíveis, produza o mesmo mapa com a quantidade ideal de nulificadores n (ou o que você gostaria ) colocados, para que os emissores sejam destruídos com a menor quantidade de anuladores.
Se houver várias maneiras ótimas de fazê-lo, apenas a saída de uma seria boa. Se, no entanto, a tarefa não for solucionável, digamos que haja tantos emissores que nenhum layout atinja todos eles, você deve gerar algo distintamente diferente; nulo será suficiente
Regras rápidas:
- Entrada: matriz multidimensional
- A entrada conterá dois caracteres, significando nada e emissor , inclua o que é o que está na sua resposta
- Saída: matriz multidimensional
- A saída conterá três caracteres, significando nada , emissor e anulador OU uma saída distinguível se a entrada for insolúvel
- Você só pode substituir o caractere nada por um nulo
- Um nulo pode atingir vários emissores e sempre atingirá todos os que estiverem dentro do alcance
- Um nulo pode atingir a área especificada acima e sempre atingirá todos os emissores que pode atingir
- As respostas mais curtas em bytes ganham
- brechas padrão proibidas
Exemplos
Entrada:
[[ , ,e, , ],
[ , , , , ],
[e, , , ,e],
[ , , , , ],
[ , ,e, , ]]
Resultado:
[[ , ,e, , ],
[ , , , , ],
[e, ,n, ,e],
[ , , , , ],
[ , ,e, , ]]
Entrada:
[[e,e,e,e,e],
[e, , , ,e],
[e, , , ,e],
[e, , , ,e],
[e,e,e,e,e]]
Resultado:
[[e,e,e,e,e],
[e, ,n, ,e],
[e, , , ,e],
[e, ,n, ,e],
[e,e,e,e,e]]
Entrada:
[[e, , , , , , ,e, ,e, , , ,e, ,e, ,e, ,e],
[ , ,e, , ,e, , , ,e,e, , , , ,e, , , , ],
[ , ,e, , , ,e, ,e, ,e, ,e, ,e, ,e, , , ],
[e, , , ,e, ,e, , , , , , , , , , , ,e, ],
[e, , ,e, , , , , ,e, ,e, ,e, ,e, , , ,e],
[ , , ,e, ,e, ,e, , , , , , , , , ,e, , ],
[ ,e,e, ,e, , , ,e, ,e,e, ,e, ,e, ,e, , ],
[ , ,e, , , ,e, , , , , , , , ,e,e, ,e, ],
[ , , ,e, , , , ,e,e, , , , , , , , ,e, ],
[e, , , , , , ,e, , , ,e,e, ,e, , , , , ],
[ ,e,e, , ,e, , , , ,e, , , , , , ,e, , ],
[ , , ,e,e, ,e, ,e, , , ,e,e, ,e, ,e, ,e],
[e,e, , , , ,e, , , ,e, , , , , , , , , ],
[ , , ,e, , , , , ,e, , ,e, ,e, ,e, ,e, ],
[ , , , ,e, ,e, , , , , , , , , , , , , ],
[e,e, , ,e,e, , ,e, , ,e, ,e, ,e, ,e, ,e],
[e, ,e, ,e, , ,e,e,e, , ,e, , , ,e, , ,e],
[ , , , ,e, , , , , ,e, , , ,e, , , , , ],
[ , ,e, , , ,e, ,e, , , ,e, , , , ,e, , ],
[ , , ,e, ,e, ,e, , ,e,e, , ,e,e, , ,e, ]]
Saída (esta saída é feita à mão e pode não ser a saída ideal):
[[e, , , , , , ,e, ,e, , , ,e, ,e, ,e, ,e],
[ , ,e, , ,e, , ,n,e,e, , , ,n,e, , , , ],
[ ,n,e, , ,n,e, ,e, ,e, ,e, ,e, ,e, ,n, ],
[e, , , ,e, ,e, , , , , , , , , , , ,e, ],
[e, , ,e, , , , , ,e, ,e, ,e, ,e, , , ,e],
[ , ,n,e, ,e, ,e, , , ,n, , , , , ,e, , ],
[ ,e,e, ,e, ,n, ,e, ,e,e, ,e, ,e,n,e, , ],
[ , ,e, , , ,e, , , , , , , , ,e,e, ,e, ],
[ , , ,e, , , , ,e,e, , , , , , , , ,e, ],
[e, ,n, , , , ,e, , , ,e,e, ,e, , , , , ],
[ ,e,e, , ,e,n, , ,n,e, , , ,n, , ,e,e, ],
[ , , ,e,e, ,e, ,e, , , ,e,e, ,e, ,e, ,e],
[e,e, , , , ,e, , , ,e, , , , , , , , , ],
[ , , ,e, ,n, , , ,e, , ,e, ,e, ,e, ,e, ],
[ ,n, , ,e, ,e, , , , , , , ,n, , , ,n, ],
[e,e, , ,e,e, , ,e,n, ,e, ,e, ,e, ,e, ,e],
[e, ,e, ,e, , ,e,e,e, , ,e, , , ,e, , ,e],
[ , , , ,e, , , , , ,e, ,n, ,e, , ,n, , ],
[ , ,e, ,n, ,e, ,e, , , ,e, ,n, , ,e, , ],
[ , , ,e, ,e, ,e, ,n,e,e, , ,e,e, , ,e, ]]
Entrada:
[[e,e],
[e,e]]
Resultado:
null
0
,1
e2
ou similar?