Відмова: Історія, розказана в цьому питанні, є повністю вигаданою та придумана виключно для того, щоб забезпечити вступ.
Я злий фермер, і щоб подорожчати пшеницю в своєму районі, я вирішив спалити поля всіх фермерів навколо мене. Мені б дуже хотілося, щоб поля горіли полум’ям (тому я можу використовувати мій злий сміх і потирати руки разом з радістю), але я також не хочу, щоб мене спіймали спостерігати, тому мені потрібно, щоб ти змоделював поле спалюється для мене.
Ваше завдання:
Напишіть програму або функцію, яка приймає поле введення, і повертає етапи його спалювання, поки все поле не попелясте. Конкретний розділ поля, що горить, представлений цілим числом, що представляє інтенсивність полум'я. Пожежа починається з "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
Оцінка:
Це кодовий гольф , найнижчий бал у виграшах байтів!