Приведенная строка из ASCII-арта, например, такая (это не ASCII-арт, но подойдет для примера):
abc
d e
fgh
Перемешайте это так, как если бы оно отображалось на экране по одному символу на строку, например так:
a
b
c
d
e
f
g
h
Распечатайте результат, подождите одну секунду, ± 0,5 секунды, прежде чем очистить терминал, и напечатайте то же самое, но с 2 символами, отображаемыми в строке вместо 1. В основном, ширина дисплея изменяется от 1 до 2.
ab
c
d
e
fg
h
Обратите внимание на пробел после d
. Повторите ожидание, затем печатая с дополнительным символом в строке, пока введенный текст не будет выведен.
Если вы пытаетесь напечатать символы в конце строки, вставьте новую строку и напечатайте остальные, следуя этому правилу. Например вход:
abcdefg
ab
Будет печатать следующее при длине дисплея 4.
abcd
efg
ab
Вы можете найти эффект изменения размера терминала здесь: https://repl.it/GoeU/1 . Запустите программу, затем перетащите объект, отделяющий терминал от текстового редактора, туда и обратно.
Разъяснение:
Как только строка отобразится точно так, как она была введена, вы можете оставить эту строку в покое для дальнейшего увеличения количества символов в строке.
abc
ab
должен напечатать
ab
c
ab
когда длина предложения = 2.
Это код-гольф , поэтому выигрывает наименьшее количество байтов!
Правила:
- Должен печатать в STDOUT как единственный выход.
- Необходимо очистить терминал или создать иллюзию очистки терминала, добавив около 150 пустых строк.
- Может принимать входные данные через стандартные методы.
- Применяются лазейки по умолчанию.
- Зависать от текста с текстом не все в порядке.
Эта идея пришла мне в голову, когда я изменял размеры терминала с изображением ASCII. Это выглядело интересно, поэтому я решил сделать из этого вызов.
Тестовые случаи:
Поскольку было бы слишком много работы, чтобы показать каждый шаг для каждого тестового примера в отдельности, я рассмотрю каждый ответ, чтобы убедиться в его правильности. Убедитесь, что ответ может справиться с контрольными случаями.
______ ______ __ __ __ ______ __ __ ______
/\ == \ /\ == \ /\ \ /\ "-.\ \ /\__ _\ /\ "-./ \ /\ ___\
\ \ _-/ \ \ __< \ \ \ \ \ \-. \ \/_/\ \/ \ \ \-./\ \ \ \ __\
\ \_\ \ \_\ \_\ \ \_\ \ \_\\"\_\ \ \_\ \ \_\ \ \_\ \ \_____\
\/_/ \/_/ /_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_/ \/_____/
__/\__
\ /
__/\__/ \__/\__
\ /
/_ _\
\ /
__/\__ __/ \__ __/\__
\ / \ / \ /
__/\__/ \__/\__/ \__/\__/ \__/\__