Знаменитый основной лайнер C64
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
печатает лабиринт косой черты и обратной косой черты.
\\/\\\//\/\////\\/\/
\/\///\\///////\//\/
/\\\//\//\////\\//\\
\////\//\//\/\\\\\\/
/\/\\///\\\\/\\\\/\\
\/\//\\\\\\//\/\////
/\//\\///\/\///\////
\/\\\//\\/\\\//\\/\/
//////\\/\\/\/\/\///
\\/\/\\////\/\/\\/\/
Прочитайте в таком лабиринте из диагональных стен от stdin и распечатайте тот же лабиринт с горизонтальными и вертикальными стенами, состоящий из символа стены "#"
Например маленький лабиринт
/\\
\\/
///
переводит на
#####
# #
# # # #
# # # #
##### # # #
# #
#########
#####
Чтобы быть точным, каждый изолированный сегмент стены имеет длину пять символов, смежные сегменты стены имеют угол. Перемещение символа вправо / влево / вверх / вниз в матрице слешей и обратных слешей соответствует диагональному переводу на 2 символа по вертикали и 2 символа по горизонтали в # -матрице.
Ответы:
Python 3,
226224 байтаМой первый Python Golf, так что, вероятно, очень неоптимальный. Он генерирует много пробелов, но предшествующих строк нет, и не более двух предшествующих пробелов. Ввод необходимо вводить вручную из командной строки (возможно, кто-то знает более короткий способ получения многострочного ввода в Python ...).
Идея состоит в том, чтобы инициализировать огромный массив пробелов
r
, затем выполнить итерацию по входным данным и заменить пробелы#
нужным, и, наконец, распечатать весь массив. Уловка, которую я использовал, состоит в том, чтобы сравнивать символыz = '0'
вместо проверки равенства с'/'
или'\'
, что экономит кучу байтов.источник
Юлия, 258 байт
Функциональное решение ...
В порядке появления:
f
закрывает '/' и '\' своими 5 * 5-битными шаблонами,h
складывает каждую пятую и следующую строки в одну строку (напомним, что "соседние сегменты стены имеют угол") иg
делает то же самое для столбцов. Наконец,i-j,i+j
вращается картина.источник
JavaScript (ES6), 258
Функция с лабиринтом в качестве параметра, возвращающая результат.
Не уверен, что это правильно, из-за правил ввода / вывода (в любом случае это было весело)
источник