W dzisiejszym odcinku AAOD zamierzamy zbudować chińskie sanktuarium o różnej wysokości.
Rozważ następujące przykłady wysokości ( N) 1do6
N = 1:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
i tak dalej.
Szczegóły budowy
Jestem pewien, że większość szczegółów na temat wzoru jest jasna. Oto kilka drobniejszych szczegółów:
- Drzwi na dole świątyni mogą mieć co najmniej
1_szerokość, a maksymalnie5_szerokość. - Zawsze będą dwa
.bezpośrednio nad filarami wokół drzwi (dwa pionowe|). - Schody zaczynają się od tej samej szerokości co drzwi i zwiększają się jak na schemacie
- Te
]##..##[bloki nad każdym wzrostem poziomu dachu w wielkości2od góry do dołu. - Te
\__...__/poziomy dachy wzrost wielkości4od góry do dołu. - Bloki ścian wokół drzwi powinny co najmniej zawierać,
1_a maksymalnie3_między nimi|. Priorytetem są bloki ścian zewnętrznych, dzięki czemu ten, który jest najbliżej drzwi, ma różny rozmiar dla każdego poziomu. - Przestrzeń między
.i](lub[) jest wypełniona#w dachu tuż nad drzwiami.
Szczegóły wyzwania
- Napisz funkcję lub pełny program, który odczytuje dodatnią liczbę całkowitą większą niż
0za pomocą argumentu STDIN / ARGV / function lub najbliższego odpowiednika i wypisuje (do STDOUT lub najbliższego odpowiednika)Nchińską świątynię - Końcowy znak nowej linii jest opcjonalny.
- Nie powinno być ani spacji końcowych, ani wystarczającej liczby spacji końcowych, aby wstawić wynik w minimalnym prostokącie ograniczającym.
- Nie powinno być żadnych spacji wiodących, które nie są częścią wzorca.
Tabela liderów
Pierwszy post z serii generuje tabelę wyników.
Aby mieć pewność, że Twoje odpowiedzi się pojawią, zacznij każdą odpowiedź od nagłówka, używając następującego szablonu Markdown:
# Language Name, N bytes
gdzie Njest rozmiar twojego zgłoszenia. Jeśli poprawić swój wynik, to może zachować stare porachunki w nagłówku, uderzając je przez. Na przykład:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1czy pierwszy dach nie jest zbyt długi (szeroki)?
#obok nich .wsparcia ]i [powyżej. Informacje o początkowym rozmiarze dachu - to jest rozmiar dachu w górnym dachu każdej wysokości.
N=1przypadku wynosi 1 ? Dlaczego nie 3 i mieć mniejsze okna boczne, jak wN=2przypadku?