(Вдохновлен этим вопросом )
Задача
Ваша задача - написать программу или функцию для печати ASCII-версии логотипа Stack Overflow в STDOUT.
\|/
(-)
(-)
(-)
(-)
Ваша программа должна принимать два входа, называемые здесь H и N. Высота стека "контейнер" (скобки) определяется как H. Количество элементов в стеке определяется как N. Если N> H, то стек будет «переполнен».
Ввод, вывод
H определит высоту контейнеров
Например:
Н = 1:
( )
Н = 2:
( )
( )
Н = 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
( )
( )
( )
( )
( )
Leaderboards
Вот фрагмент стека, который генерирует как регулярную таблицу лидеров, так и обзор победителей по языкам.
Чтобы убедиться, что ваш ответ обнаружен, начните его с заголовка, используя следующий шаблон уценки:
# 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