По мне, торнадо выглядит так:
########
#######
######
#####
####
###
##
#
Этот торнадо начинается с ширины n
, и в каждой следующей строке символ удаляется слева или справа, в зависимости от ввода.
вход
Входными данными будут список каких-либо двух уникальных значений (работает также строка из двух уникальных символов) и необязательное положительное целое число, указывающее начальную ширину. Если необязательное целое число не взято, то начальная ширина на 1 больше длины списка. Пусть начальная ширина будет n
.
Как сделать торнадо
В моем примере я выбираю свой список, содержащий 1
s и 0
s, хотя вы можете выбрать любые два различных константных значения или строку из любых двух различных константных символов.
Первая строка будет состоять из n
непробельных символов (вы можете выбрать любой непротиворечивый символ; я выберу #
для своего примера).
Затем для каждого номера в списке, если номер есть 0
, удалите левый символ и создайте новую строку; если это 1
, удалите правильный символ и создайте новую строку.
Таким образом, вышеуказанный торнадо является выходом для 8, [1, 0, 0, 0, 1, 0, 0]
.
Выход
Выходными данными могут быть список строк, список списков символов или многострочная строка. Конечный пробел в каждой строке разрешен, а завершающий символ новой строки в конце разрешен.
Тестовые случаи
Эти тесты включают начальную ширину и списки использования 1, 0
.
5, [1,0,0,1]
#####
####
###
##
#
10, [1,0,0,1,0,1,0,0,1]
##########
#########
########
#######
######
#####
####
###
##
#
7, [1,1,1,1,1,1]
#######
######
#####
####
###
##
#
100,
[1,0,0,0,0,1,0,0,0,1,1,0,1,0,0,1,0,0,1,0,0,1,1,0,1,1,1,1,0,1,0,1,1,0,0,1,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,0,0,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,0,1,0,0,1,1,0,0,0,0,1]
правила
- Применяются стандартные лазейки
- Самый короткий код в байтах побеждает! Код-гольф
- Фон не должен быть пробелом (я забыл указать это ранее).
- Ваш язык должен поддерживать только те числа (ширины), которые он может обработать, но если ваш переводчик был переписан с большим размером, он должен работать теоретически.