In der heutigen Folge von AAOD werden wir einen chinesischen Schrein unterschiedlicher Höhe bauen.
Betrachten Sie die folgenden Beispiele für height ( N
) 1
bis6
N = 1
:
.
|
. ]#[ .
\_______/
. ]###[ .
\__]#.-.#[__/
|___| |___|
|___|_|___|
####/_\####
|___|
/_____\
N = 2
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\___]#.---.#[___/
|__|_| |_|__|
|__|_|___|_|__|
#####/___\#####
|_____|
/_______\
N = 3
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\____]#.-----.#[____/
|__|__| |__|__|
|__|__|_____|__|__|
######/_____\######
|_______|
/_________\
N = 4
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_____]##.-----.##[_____/
|__|__|_| |_|__|__|
|__|__|_|_____|_|__|__|
########/_____\########
|_______|
/_________\
N = 5
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\______]###.-----.###[______/
|__|__|___| |___|__|__|
|__|__|___|_____|___|__|__|
##########/_____\##########
|_______|
/_________\
N = 6
:
.
|
. ]#[ .
\_______/
. ]###[ .
\___________/
. ]#####[ .
\_______________/
. ]#######[ .
\___________________/
. ]#########[ .
\_______________________/
. ]###########[ .
\___________________________/
. ]#############[ .
\_______]####.-----.####[_______/
|__|__|__|__| |__|__|__|__|
|__|__|__|__|_____|__|__|__|__|
############/_____\############
|_______|
/_________\
und so weiter.
Konstruktionsdetails
Ich bin sicher, dass die meisten Details des Musters klar sind. Hier einige Details:
- Die Tür am Boden des Schreins kann mindestens
1
_
breit und höchstens5
_
breit sein. - Es gibt immer zwei
.
direkt über den Säulen um die Tür (zwei vertikal|
). - Die Treppe beginnt mit der gleichen Breite wie die Tür und steigt wie im Muster gezeigt an
- Die
]##..##[
Blöcke über jeder Dachebene vergrößern sich2
von oben nach unten. - Die
\__...__/
Dachebenen vergrößern sich4
von oben nach unten. - Die Wandblöcke um die Tür sollten mindestens
1
_
und höchstens3
_
zwischen den beiden liegen|
. Priorität haben die äußeren Wandblöcke, sodass derjenige, der der Tür am nächsten liegt, für jede Ebene eine unterschiedliche Größe erhält. - Der Raum zwischen
.
und]
(oder[
) wird#
im Dach direkt über den Türen ausgefüllt .
Herausforderungsdetails
- Schreiben Sie eine Funktion oder ein vollständiges Programm, das eine positive Ganzzahl größer als
0
über das Argument STDIN / ARGV / function oder das nächstgelegene Äquivalent liest und (an STDOUT oder das nächstgelegene Äquivalent) dasN
chinesische Heiligtum ausgibt - Der Zeilenumbruch ist optional.
- Es sollten entweder keine oder genügend Leerzeichen vorhanden sein, um die Ausgabe im minimalen Begrenzungsrechteck aufzufüllen.
- Es sollten keine führenden Leerzeichen vorhanden sein, die nicht Teil des Musters sind.
Bestenliste
Der erste Beitrag der Serie generiert eine Rangliste.
Um sicherzustellen, dass Ihre Antworten angezeigt werden, beginnen Sie jede Antwort mit einer Überschrift. Verwenden Sie dazu die folgende Markdown-Vorlage:
# Language Name, N bytes
Wo N
ist die Größe Ihres Beitrags? Wenn Sie Ihren Score zu verbessern, Sie können alte Rechnungen in der Überschrift halten, indem man sich durch das Anschlagen. Zum Beispiel:
# Ruby, <s>104</s> <s>101</s> 96 bytes
N=1
Fall auch das erste Dach nicht zu lang (breit)?
#
neben .
der ]
und [
darüber zu stützen . Über die Startdachgröße - Das ist die Dachgröße im oberen Dach jeder Höhe.
N=1
Fall 1? Warum nicht 3 und haben kleinere Seitenfenster wie imN=2
Fall?