Para simular uma invasão de zumbis, comece com uma grade #
e representando o mapa:
## ##
### #
## ##
# ###
# ####
#
representa terra.representa água.
Os zumbis começam em um ponto no mapa ...
## ##
### #
## %#
# ###
# ####
... e espalhar. %
denota terra infectada por zumbis.
No entanto, zumbis não sabem nadar . Eles podem se mover pela terra da mesma maneira que um rei se move no xadrez - um quadrado em qualquer direção diagonal ou ortogonal:
!!!
!%!
!!!
No final da simulação, algumas terras serão infectadas com zumbis:
%% ##
%%% #
%% %%
% %%%
# %%%%
Sua tarefa é simular a invasão de zumbis. Escreva um programa (ou função) que tenha como entrada uma string representando o estado inicial da grade e dois números representando as coordenadas do zumbi inicial. O programa deve gerar (ou retornar) o estado final da invasão.
Especificações
- Seu programa pode imprimir uma nova linha opcional à direita.
- Você pode supor que a entrada esteja no formato correto (preenchido com espaços), com uma nova linha à direita opcional.
- Você pode assumir que o zumbi inicial começará em terra e não morrerá imediatamente.
- Isso é código-golfe , então a resposta mais curta (em bytes) vence.
- -100% de bônus se o seu código também puder resolver o Problema da Parada para máquinas de Turing arbitrárias.
- Seu programa deve lidar com larguras de placa de até 50 caracteres.