Per simulare un'invasione di zombi, inizia con una griglia di #
e che rappresenta la mappa:
## ##
### #
## ##
# ###
# ####
#
rappresenta la terra.rappresenta l'acqua.
Gli zombi iniziano in un punto della mappa ...
## ##
### #
## %#
# ###
# ####
... e diffondere. %
indica la terra infettata dagli zombi.
Tuttavia, gli zombi non possono nuotare . Possono muoversi attraverso la terra nello stesso modo in cui un re si muove negli scacchi - un quadrato in qualsiasi direzione diagonale o ortogonale:
!!!
!%!
!!!
Alla fine della simulazione, alcune terre saranno infettate dagli zombi:
%% ##
%%% #
%% %%
% %%%
# %%%%
Il tuo compito è simulare l'invasione di zombi. Scrivi un programma (o una funzione) che accetta come input una stringa che rappresenta lo stato iniziale della griglia e due numeri che rappresentano le coordinate dello zombi iniziale. Il programma dovrebbe generare (o restituire) lo stato finale dell'invasione.
specificazioni
- Il programma potrebbe stampare una nuova riga finale opzionale.
- Puoi supporre che l'input sia nel formato corretto (riempito con spazi), con una nuova riga finale opzionale.
- Puoi presumere che lo zombi iniziale inizi a terra e non morirà immediatamente.
- Questo è code-golf , quindi vince la risposta più breve (in byte).
- -100% di bonus se il tuo codice può anche risolvere il problema di interruzione per macchine Turing arbitrarie.
- Il tuo programma dovrebbe gestire larghezze della scheda fino a 50 caratteri.