No episódio de hoje de AAOD, vamos construir um santuário chinês de diferentes alturas.
Considere os seguintes exemplos de height ( N) 1para6
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 de2cima para baixo. - Os
\__...__/níveis dos telhados aumentam de tamanho de4cima 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
0via argumento STDIN / ARGV / function ou equivalente mais próximo e produza (para STDOUT ou equivalente mais próximo) oNth 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 Nestá 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=1caso, 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=1caso? Por que não 3 e tem janelas laterais menores, como noN=2caso?