По-моєму, смерч виглядає так:
########
#######
######
#####
####
###
##
#
Цей торнадо починається з ширини 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]
Правила
- Застосовуються стандартні лазівки
- Найкоротший код у байтах виграє! код-гольф
- Фон не повинен бути пробілом (я забув вказати це раніше).
- Ваша мова повинна підтримувати лише цифри (ширини), якими вона може працювати, але якщо ваш перекладач був переписаний з більшим розміром числа, він повинен теоретично працювати.