Абелева купа пісок , для наших цілей, є нескінченною сіткою з цілими координатами, спочатку порожній пісок. Після кожної секунди кладеться зерно піску на (0,0). Кожного разу, коли сітка-клітина містить 4 і більше зерен піску, вона розсипає по одному зерну піску кожному з чотирьох своїх сусідів одночасно. Сусідами (x, y) є (x-1, y), (x + 1, y), (x, y-1) та (x, y + 1).
Коли клітина розливається, це може спричинити розплив сусідів. Деякі факти:
- Цей каскад з часом зупиниться.
- Порядок, в якому розливають клітини, не має значення; результат буде однаковим.
Приклад
Через 3 секунди сітка виглядає так
.....
.....
..3..
.....
.....
Через 4 секунди:
.....
..1..
.1.1.
..1..
.....
Через 15 секунд:
.....
..3..
.333.
..3..
.....
А через 16 секунд:
..1..
.212.
11.11
.212.
..1..
Змагання
У мінімально можливих байтах запишіть функцію, яка займає одне додатне ціле число t і виводить зображення пісочника через t секунд.
Вхідні дані
Єдине натуральне ціле t у будь-якому обраному форматі.
Вихід
Зображення пісковика через t секунд із використанням символів
. 1 2 3
Редагувати: Використовуйте будь-які чотири різних символи, які вам подобаються, або намалюйте зображення. Якщо ви не використовуєте ".123" або "0123", вкажіть у своїй відповіді, що означають символи.
На відміну від прикладів, ваш вихід повинен містити мінімальну кількість рядків і стовпців, необхідних для відображення ненульової частини пісковика.
Тобто для введення 3 вихід повинен бути
3
Для 4 вихід повинен бути
.1.
1.1
.1.
Оцінка балів
Застосовується стандартне підрахунок гольфу.
Правила
Немає мовних функцій або бібліотек, які вже знають, що таке "пісочниця".
Редагувати: розділ виводу відредаговано, обмеження набору символів повністю знято. Використовуйте будь-які чотири чіткі символи чи кольори, які вам подобаються.
.
порожні клітини? Чи можемо ми мати 0
дійсну порожню клітинку?
0
? Який вихід тоді?