Isenção de responsabilidade: a história contada nesta pergunta é totalmente fictícia e inventada apenas com o objetivo de fornecer uma introdução.
Sou um fazendeiro malvado e, para aumentar o preço do trigo na minha região, decidi queimar os campos de todos os fazendeiros à minha volta. Eu realmente gostaria de ver os campos pegando fogo (para que eu possa usar minha risada maligna e esfregar minhas mãos com alegria), mas também não quero ser pego assistindo, então preciso que você simule o campo sendo incinerado para mim.
Sua tarefa:
Escreva um programa ou função que tome como entrada um campo e retorne os estágios dele até que todo o campo fique cinza. Uma seção específica do campo em chamas é representada por um número inteiro que representa a intensidade da chama. Um incêndio começa em "1" e passa para "2" e depois "3" e assim por diante. Quando o fogo atinge "4", ele captura as áreas adjacentes diretamente (não na diagonal) que são inflamáveis. Quando atinge "8", queima na próxima iteração e se transforma em cinza, representada por um "A". Quando uma área ainda não foi tocada pelo fogo, ela é representada por um "0". Por exemplo, se o campo estiver assim:
100
000
Seu programa deve gerar o seguinte:
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
Se desejar, você pode substituir os símbolos acima por qualquer conjunto de símbolos que escolher, desde que sejam consistentes e distintos um do outro.
Entrada:
A posição inicial do campo, de qualquer forma padrão, como uma sequência delimitada por linhas novas, como acima.
Saída:
O campo em cada iteração à medida que é gravado, como uma matriz ou como uma sequência delimitada por algum caractere.
Casos de teste:
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
Pontuação:
Isso é código-golfe , a menor pontuação em bytes ganha!