В сегодняшнем эпизоде AAOD мы собираемся построить китайский храм различной высоты.
Рассмотрим следующие примеры для height ( N) 1для6
N = 1:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
и так далее.
Детали конструкции
Я уверен, что большинство деталей о шаблоне ясны. Вот некоторые более мелкие детали:
- Дверь в нижней части храма может иметь минимальную
1_ширину и максимальную5_ширину. - Всегда будет два
.над столбами вокруг двери (два вертикальных|). - Лестница начинается с той же ширины, что и дверь, и увеличивается, как показано на схеме.
- Эти
]##..##[блоки над каждым уровнем крыши увеличиваются в размерах2от верхней части к нижней части . - Эти
\__...__/уровни крыши увеличиваются в размерах4от верхней части к нижней части . - Блоки стен вокруг двери должны как минимум содержать
1_и как максимум3_между ними|. Приоритет отдается блокам наружной стены, поэтому ближайший к двери блок имеет различный размер для каждого уровня. - Пространство между
.и](или[) заполнено#в крыше прямо над дверями.
Детали вызова
- Напишите функцию или полную программу, которая читает положительное целое число больше, чем
0через STDIN / ARGV / аргумент функции или ближайший эквивалент, и выводит (в STDOUT или ближайший эквивалент)Nкитайский храм - Трейлинг новой строки не является обязательным.
- Не должно быть либо пробелов в конце, либо пробелов, достаточных для заполнения вывода в минимальном ограничивающем прямоугольнике.
- Не должно быть никаких начальных пробелов, которые не являются частью шаблона.
Leaderboard
Первый пост серии генерирует таблицу лидеров.
Чтобы убедиться, что ваши ответы отображаются, начните каждый ответ с заголовка, используя следующий шаблон уценки:
# Language Name, N bytes
где Nразмер вашего представления. Если вы улучшите свой счет, вы можете сохранить старые результаты в заголовке, вычеркнув их. Например:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1случае, не является ли первая крыша слишком длинной (широкой)?
#рядом с ней не было бы никакой .опоры ]и [над ней. О начальном размере крыши - это размер крыши в верхней крыше каждой высоты.
N=1корпусе? Почему бы не 3 и иметь меньшие боковые окна, как вN=2случае?