Отказ от ответственности: история, рассказанная в этом вопросе, является полностью вымышленной, и придумана исключительно с целью ознакомления.
Я злой фермер, и чтобы повысить цены на пшеницу в своем районе, я решил сжечь поля всех фермеров вокруг меня. Мне бы очень хотелось, чтобы поля вспыхнули пламенем (чтобы я мог использовать свой злой смех и потереть руки вместе с радостью), но я также не хочу, чтобы меня поймали, наблюдая, поэтому мне нужно, чтобы вы смоделировали поле сожгли для меня.
Твое задание:
Напишите программу или функцию, которая принимает в качестве входных данных поле и возвращает этапы его записи до тех пор, пока все поле не станет пеплом. Определенный участок поля, который находится в огне, представлен целым числом, представляющим интенсивность пламени. Пожар начинается с «1» и переходит на «2», затем «3» и так далее. Как только огонь достигает "4", он ловит любые непосредственно (не по диагонали) смежные области, которые являются легковоспламеняющимися в огне. Как только он достигает «8», он выгорает на следующей итерации и превращается в пепел, представленный буквой «А». Когда область еще не была затронута огнем, она обозначается «0». Например, если поле выглядит так:
100
000
Ваша программа должна вывести это:
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
При желании вы можете заменить вышеуказанные символы любым набором символов, который вы выберете, при условии, что они непротиворечивы и отличаются друг от друга.
Входные данные:
Начальная позиция поля в любой стандартной форме, например, строка с новой строкой, как указано выше.
Выход:
Поле в каждой итерации при записи, либо в виде массива, либо в виде строки, разделенной каким-либо символом.
Тестовые случаи:
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
Подсчет очков:
Это код-гольф , выигрывает самая низкая оценка в байтах!