Я большой поклонник игры Creeper World, и особенно сиквела. Вам не нужно знать, как эта игра работает, чтобы ответить на вопрос, я просто хотел упомянуть, откуда возник мой вопрос.
В игре ваша цель - уничтожить Эмиттеры, которые порождают Крипера, используя оружие, известное как нулификатор.
Нулификаторы могут уничтожить любой излучатель в этом радиусе:
eee
eeeee
eenee
eeeee
eee
Каждый нулификатор МОЖЕТ предназначаться для нескольких Излучателей.
Ваша цель
Учитывая массив, имитирующий 2D-карту, состоящую из ничего и излучателей с любыми символами, которые вам нравятся, это могут быть пробелы и e или числа - просто убедитесь, что они различимы, выведите одну и ту же карту с оптимальным количеством нулей n (или того, что вы хотите ), чтобы излучатели были уничтожены с наименьшим количеством нулей.
Если есть несколько оптимальных способов сделать это, просто вывести один будет хорошо. Однако, если задача не решаема, скажем, существует так много эмиттеров, что ни один макет никогда не ударит по всем из них, вы должны вывести что-то значительно отличающееся, нуля будет достаточно
Быстрые правила:
- Ввод: многомерный массив
- Входные данные будут содержать два символа, ничего не значащих и эмиттер , включая то, что есть что в вашем ответе
- Вывод: многомерный массив
- Вывод будет содержать три символа, ничего не значащих , эмиттер и обнуляющий ИЛИ различимый вывод, если ввод неразрешимый
- Вы можете заменить символ « ничто» только нулем
- Nullifier может поразить многократные излучатели, и всегда будет поражать все, что в диапазоне
- Нулификатор может попасть в область, указанную выше, и всегда будет поражать все излучатели, на которые он может нацелиться
- Самые короткие ответы в байтах выигрывают
- стандартные лазейки запрещены
Примеры
Входные данные:
[[ , ,e, , ],
[ , , , , ],
[e, , , ,e],
[ , , , , ],
[ , ,e, , ]]
Выход:
[[ , ,e, , ],
[ , , , , ],
[e, ,n, ,e],
[ , , , , ],
[ , ,e, , ]]
Входные данные:
[[e,e,e,e,e],
[e, , , ,e],
[e, , , ,e],
[e, , , ,e],
[e,e,e,e,e]]
Выход:
[[e,e,e,e,e],
[e, ,n, ,e],
[e, , , ,e],
[e, ,n, ,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, ,e, , ,e,e, , ,e,e, , ,e, ]]
Вывод (Этот вывод сделан вручную и может не быть оптимальным выходом):
[[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, ]]
Входные данные:
[[e,e],
[e,e]]
Выход:
null
0,1и2или подобное?