Descargo de responsabilidad: La historia contada dentro de esta pregunta es completamente ficticia e inventada únicamente con el propósito de proporcionar una introducción.
Soy un granjero malvado, y para aumentar el precio del trigo en mi área, he decidido quemar los campos de todos los granjeros que me rodean. Realmente me gustaría ver que los campos se incendiaran (para poder usar mi risa malvada y frotar mis manos con alegría), pero tampoco quiero que me atrapen observando, así que necesito que simules que el campo está siendo incinerado por mi
Tu tarea:
Escriba un programa o función que tome como entrada un campo y devuelva las etapas de grabación hasta que todo el campo sea ceniza. Una sección específica del campo que está en llamas está representada por un número entero que representa la intensidad de la llama. Un incendio comienza en "1" y pasa a "2" y luego a "3", y así sucesivamente. Una vez que el fuego alcanza "4", atrapa cualquier área adyacente directa (no diagonal) que sea inflamable en el fuego. Una vez que alcanza "8", se quema en la siguiente iteración y se convierte en ceniza, representada por una "A". Cuando un área aún no ha sido tocada por el fuego, se representa con un "0". Por ejemplo, si el campo se ve así:
100
000
Su programa debería generar esto:
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
Si lo desea, puede reemplazar los símbolos anteriores con cualquier conjunto de símbolos que elija, siempre que sean consistentes y distintos entre sí.
Entrada:
La posición inicial del campo, en cualquier forma estándar, como una cadena delimitada con una nueva línea como se indicó anteriormente.
Salida:
El campo en cada iteración a medida que se quema, ya sea como una matriz o como una cadena delimitada por algún carácter.
Casos de prueba:
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
Tanteo:
Este es el código de golf , ¡el puntaje más bajo en bytes gana!