En el episodio de hoy de AAOD, vamos a construir un santuario chino de diferentes alturas.
Considere los siguientes ejemplos para height ( N
) 1
to6
N = 1
:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
y así.
Detalles de construcción
Estoy seguro de que la mayoría de los detalles sobre el patrón son claros. Aquí hay algunos detalles más finos:
- La puerta en la parte inferior del santuario puede ser como mínimo de
1
_
ancho y como máximo puede ser de5
_
ancho. - Siempre habrá dos
.
directamente encima de los pilares alrededor de la puerta (dos verticales|
). - Las escaleras comienzan con el mismo ancho que la puerta y aumentan como se muestra en el patrón.
- Los
]##..##[
bloques sobre cada nivel de techo aumentan de tamaño de2
arriba a abajo. - Los
\__...__/
niveles de los techos aumentan de tamaño de4
arriba a abajo. - Los bloques de paredes alrededor de la puerta deben contener
1
_
como mínimo y como máximo,3
_
entre los dos|
. La prioridad va a los bloques de pared exterior para que el más cercano a la puerta tenga un tamaño variable para cada nivel. - El espacio entre el
.
y el]
(o[
) se llena#
en el techo justo encima de las puertas.
Detalles del desafío
- Escriba una función o programa completo que lea un entero positivo mayor que a
0
través de STDIN / ARGV / argumento de función o equivalente más cercano y emite (a STDOUT o equivalente más cercano) elN
Santuario chino - La nueva línea final es opcional.
- No debe haber espacios finales o suficientes espacios finales para rellenar la salida en el rectángulo delimitador mínimo.
- No debe haber espacios iniciales que no sean parte del patrón.
Tabla de clasificación
La primera publicación de la serie genera una tabla de clasificación.
Para asegurarse de que sus respuestas aparezcan, comience cada respuesta con un título, utilizando la siguiente plantilla de Markdown:
# Language Name, N bytes
¿Dónde N
está el tamaño de su envío? Si mejora su puntaje, puede mantener los puntajes antiguos en el título, tachándolos. Por ejemplo:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1
caso, ¿no es el primer techo demasiado largo (ancho)?
#
al lado de la puerta .
para apoyarla ]
y [
sobre ella. Acerca del tamaño del techo inicial: es el tamaño del techo en el techo superior de cada altura.
N=1
caso? ¿Por qué no 3 y tienen ventanas laterales más pequeñas como en elN=2
caso?