Untuk mensimulasikan invasi zombie, mulailah dengan kisi #
dan yang mewakili peta:
## ##
### #
## ##
# ###
# ####
#
mewakili tanah.mewakili air.
Zombi dimulai pada titik di peta ...
## ##
### #
## %#
# ###
# ####
... dan menyebar. %
menunjukkan tanah yang terinfeksi oleh zombie.
Namun, zombie tidak bisa berenang . Mereka dapat bergerak melintasi tanah dengan cara yang sama seperti seorang raja bergerak dalam catur - satu kotak di setiap arah diagonal atau ortogonal:
!!!
!%!
!!!
Di akhir simulasi, beberapa lahan akan terinfeksi zombie:
%% ##
%%% #
%% %%
% %%%
# %%%%
Tugas Anda adalah untuk mensimulasikan invasi zombie. Tulis program (atau fungsi) yang mengambil input string yang mewakili keadaan awal grid, dan dua angka yang mewakili koordinat zombie awal. Program harus menampilkan (atau mengembalikan) keadaan akhir invasi.
Spesifikasi
- Program Anda dapat mencetak baris tambahan opsional.
- Anda dapat berasumsi bahwa input akan berada dalam format yang benar (diisi dengan spasi), dengan baris tambahan opsional.
- Anda dapat mengasumsikan zombie awal akan mulai di darat dan tidak akan langsung mati.
- Ini adalah kode-golf , jadi jawaban tersingkat (dalam byte) menang.
- -100% bonus jika kode Anda juga dapat menyelesaikan Masalah Pemutusan untuk mesin Turing yang berubah-ubah.
- Program Anda harus menangani lebar papan hingga 50 karakter.