No episódio de hoje de AAOD, vamos construir um santuário chinês de diferentes alturas.
Considere os seguintes exemplos de height ( N
) 1
para6
N = 1
:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
e assim por diante.
Detalhes da construção
Estou certo de que a maioria dos detalhes sobre o padrão é clara. Aqui estão alguns detalhes:
- A porta na parte inferior do santuário pode ter
1
_
largura mínima e largura máxima5
_
. - Sempre haverá dois
.
diretamente acima dos pilares ao redor da porta (dois verticais|
). - As escadas começam com a mesma largura da porta e aumentam como mostra o padrão
- Os
]##..##[
blocos acima de cada nível do telhado aumentam de tamanho de2
cima para baixo. - Os
\__...__/
níveis dos telhados aumentam de tamanho de4
cima para baixo. - Os blocos de paredes ao redor da porta devem conter no mínimo
1
_
e no máximo3
_
entre os dois|
. A prioridade vai para os blocos da parede externa, para que o mais próximo da porta obtenha um tamanho variável para cada nível. - O espaço entre o (e )
.
e]
(ou[
) é preenchido#
no telhado logo acima das portas.
Detalhes do Desafio
- Escreva uma função ou programa completo que leia um número inteiro positivo maior que
0
via argumento STDIN / ARGV / function ou equivalente mais próximo e produza (para STDOUT ou equivalente mais próximo) oN
th Shrine Chinês - A nova linha à direita é opcional.
- Não deve haver espaços à direita ou espaços à direita suficientes para preencher a saída no retângulo delimitador mínimo.
- Não deve haver espaços à esquerda que não façam parte do padrão.
Entre os melhores
O primeiro post da série gera uma tabela de classificação.
Para garantir que suas respostas sejam exibidas, inicie todas as respostas com um título, usando o seguinte modelo de remarcação:
# Language Name, N bytes
onde N
está o tamanho do seu envio. Se você melhorar sua pontuação, poderá manter as pontuações antigas no título, identificando-as. Por exemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1
caso, o primeiro telhado não é muito longo (largo)?
#
ao lado do.
para apoiar o ]
e [
acima dele. Sobre o tamanho inicial do telhado - Esse é o tamanho do telhado no telhado superior de cada altura.
N=1
caso? Por que não 3 e tem janelas laterais menores, como noN=2
caso?