Penafian: Kisah yang diceritakan dalam pertanyaan ini sepenuhnya fiktif, dan diciptakan semata-mata untuk tujuan memberikan intro.
Saya seorang petani jahat, dan untuk menaikkan harga gandum di daerah saya, saya telah memutuskan untuk membakar ladang semua petani di sekitar saya. Saya benar-benar ingin melihat ladang terbakar (sehingga saya bisa menggunakan tawa jahat saya dan menggosok tangan saya bersama-sama dengan gembira), tetapi saya juga tidak ingin ketahuan menonton, jadi saya perlu Anda untuk mensimulasikan lapangan menjadi dibakar untukku.
Tugas Anda:
Tulis sebuah program atau fungsi yang mengambil sebagai input bidang, dan mengembalikan tahapan-tahapannya membakar sampai seluruh bidang menjadi abu. Bagian spesifik dari bidang yang terbakar diwakili oleh bilangan bulat yang mewakili intensitas nyala api. Api dimulai pada "1" dan bergerak ke "2" dan kemudian "3", dan seterusnya. Begitu api mencapai "4", api akan menangkap area yang berdekatan secara langsung (tidak diagonal) yang mudah terbakar. Setelah mencapai "8", ia terbakar pada iterasi berikutnya, dan berubah menjadi abu, diwakili oleh "A". Ketika suatu daerah belum disentuh oleh api, itu diwakili oleh "0". Misalnya, jika bidangnya terlihat seperti ini:
100
000
Program Anda harus menampilkan ini:
100
000
200
000
300
000
410
100
520
200
630
300
741
410
852
520
A63
630
A74
741
A85
852
AA6
A63
AA7
A74
AA8
A85
AAA
AA6
AAA
AA7
AAA
AA8
AAA
AAA
Jika mau, Anda dapat mengganti simbol di atas dengan seperangkat simbol yang Anda pilih, asalkan konsisten dan berbeda satu sama lain.
Memasukkan:
Posisi awal bidang, dalam bentuk standar apa pun, seperti string yang dibatasi baru seperti di atas.
Keluaran:
Bidang di setiap iterasi saat dibakar, baik sebagai array, atau sebagai string yang dibatasi oleh beberapa karakter.
Kasus uji:
0301
000A
555
|
v
0301
000A
555
1412
010A
666
2523
020A
777
3634
030A
888
4745
141A
AAA
5856
252A
AAA
6A67
363A
AAA
7A78
474A
AAA
8A8A
585A
AAA
AAAA
6A6A
AAA
AAAA
7A7A
AAA
AAAA
8A8A
AAA
AAAA
AAAA
AAA
Mencetak:
Ini adalah kode-golf , skor terendah dalam byte menang!