Чтобы симулировать вторжение зомби, начните с сетки #
и представляющей карту:
## ##
### #
## ##
# ###
# ####
#
представляет землю.представляет воду.
Зомби начинаются в точке на карте ...
## ##
### #
## %#
# ###
# ####
... и распространяться. %
обозначает землю, зараженную зомби.
Однако зомби не умеют плавать . Они могут перемещаться по земле так же, как король в шахматах - один квадрат в любой диагонали или ортогональном направлении:
!!!
!%!
!!!
В конце симуляции некоторые земли будут заражены зомби:
%% ##
%%% #
%% %%
% %%%
# %%%%
Ваша задача - симулировать вторжение зомби. Напишите программу (или функцию), которая принимает в качестве входных данных строку, представляющую начальное состояние сетки, и два числа, представляющие координаты исходного зомби. Программа должна вывести (или вернуть) окончательное состояние вторжения.
Характеристики
- Ваша программа может распечатать дополнительный завершающий перевод строки.
- Вы можете предположить, что ввод будет в правильном формате (дополненный пробелами), с дополнительным завершающим переводом строки.
- Вы можете предположить, что начальный зомби начнется на земле и не умрет немедленно.
- Это код-гольф , поэтому выигрывает самый короткий ответ (в байтах).
- Бонус -100%, если ваш код также может решить проблему остановки для произвольных машин Тьюринга.
- Ваша программа должна обрабатывать доски шириной до 50 символов.