(Натхненний цим питанням )
Об'єктивна
Ваше завдання - написати програму або функцію для друку ASCII версії логотипу Переповнення стека до STDOUT
\|/
(-)
(-)
(-)
(-)
Ваша програма повинна приймати два входи, згадані тут H і N. Висота стека "контейнер" (круглі дужки) визначається H. Кількість елементів у стеці визначається N. Якщо N> H, стек "переповниться".
Введення-виведення
Н визначатиме висоту контейнерів
Наприклад:
H = 1:
( )
H = 2:
( )
( )
H = 3:
( )
( )
( )
H завжди буде принаймні 1
N визначатиме, скільки предметів у стеку. Наступні приклади - H = 2:
N = 0
( )
( )
N = 1
( )
(-)
N = 2
(-)
(-)
N = 3
\
(-)
(-)
N = 4
\|
(-)
(-)
N = 5
\|/
(-)
(-)
N = 6
\|/
(-)-
(-)
N = 7
\|/
(-)-
(-)-
N ніколи не буде більше 2H+3
(Іншими словами, стек ніколи не пройде через землю).
Правила
- Немає стандартних бійниць.
- Ваша програма не повинна створювати помилок.
- Усі тестові справи повинні пройти.
- Ви можете вводити H і N будь-яким способом.
- Я серйозно сумніваюся, що ваша мова має для цього вбудований.
- Кожен рядок може додатково мати додаткове місце в кінці. Порожній рядок над стеком, де N <= H необов’язковий, як і останній новий рядок.
- Це код-гольф , тому найкоротший код у байтах виграє!
Випробування
На додаток до всіх тестових випадків H = 2 з розділу Введення / Виведення, всі наступні тестові випадки повинні пройти:
H = 1, N = 1
(-)
H = 1, N = 5
\|/
(-)-
H = 4, N = 7
\|/
(-)
(-)
(-)
(-)
H = 5, N = 0
( )
( )
( )
( )
( )
Табло лідерів
Ось фрагмент стека для створення як звичайного табло, так і огляду переможців за мовою.
Щоб переконатися, що ваша відповідь відображається, будь ласка, почніть свою відповідь із заголовка, використовуючи наступний шаблон Markdown:
# Language Name, N bytes
де N
розмір вашого подання. Якщо ви покращите свій рахунок, ви можете зберегти старі бали у заголовку, прокресливши їх. Наприклад:
# Ruby, <s>104</s> <s>101</s> 96 bytes
Якщо ви хочете включити у свій заголовок декілька чисел (наприклад, тому що ваш результат становить суму двох файлів або ви хочете окремо перерахувати штрафні санкції для перекладача), переконайтесь, що фактичний бал є останнім номером у заголовку:
# Perl, 43 + 2 (-p flag) = 45 bytes
Ви також можете зробити ім'я мови посиланням, яке потім з’явиться у фрагменті таблиць лідерів:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes