Виклик
Вам буде введено додатне ціле число n
як вхідне. Вихід повинен бути пірамідковим пісковиком, побудованим за правилами, зазначеними нижче:
- Кожне ціле число "падає" вниз від тієї ж початкової точки, як пісок, що потрапляє у конусну форму.
- Числа, що перевищують число безпосередньо під ним, коли він потрапляє на пісковик, впадуть праворуч, якщо зможуть.
- Числа менше числа безпосередньо під ним, коли він потрапляє на пісковик, впадуть ліворуч, якщо зможуть.
- Числа, рівні кількості прямо під ним, коли він потрапляє на пісковик, залишаться на місці.
- Числа можуть падати вліво / вправо, якщо вони можуть рухатися вниз і вліво / вправо відповідно. Тобто, якщо вже є число внизу та вліво / вправо, залежно від напрямку, число, що падає в даний час, не рухається.
- Число буде продовжувати падати пісковиком до тих пір, поки його не вдасться перенести у наступне положення, або не вдарить об підлогу.
Примітки
Початкова перевірка порівняння застосовується лише до першого зустрічається цілого числа, а не до кожної послідовної зустрічі, коли вона падає на пісковик.
Пробіли проходять добре, але нові лінії не є.
Ні провідних просторів, ні нових ліній, крім випадків, коли це потрібно для збереження структури пісковика.
Ви можете написати повну програму або функцію.
Ви можете припустити, що введення містить лише деяку комбінацію [0-9]
.
Це код-гольф , найкоротший код у байтах буде відзначений переможцем березня
Приклади
1
1
12345
35
124
54321
13
245
555444333222111
2
2
2
135
1345
13445
111222333444555
4
4
4
135
1235
12235
7313623030872935273465247457435345345350
3
3
3
3
34
355
3644
239475
201277445
020373685575
555444333222111
це помилка, що третя4
впаде лівою до першої4
?