Ein Raum kann aus verbundenen Rechtecken bestehen, beispielsweise einem L-förmigen Raum. Ein solcher Raum kann durch eine Liste von Dimensionen beschrieben werden, die die Größe jedes Rechtecks beschreiben.
Angenommen, Sie haben zwei Eingabelisten. Die erste enthält die Breite der Rechtecke, die vertikal übereinander gestapelt sind. Die zweite enthält die Höhe der Rechtecke.
Als Beispiel ist die Eingabe [4 6][3 2]
ein 4 x 3-Rechteck über einem 6 x 2-Rechteck. Die folgende Abbildung zeigt diese Form. Beachten Sie, dass die Wände als "dünn" eingestuft werden. Daher werden die Abstände zwischen den Wänden durch die Eingabe bestimmt.
[4 6][3 2]
____
| |
| |
| |_
| |
|______|
Die Herausforderung besteht darin, eine Liste von Dimensionen als Eingabe zu verwenden und die Form des Raums als ASCII-Kunst auszugeben. Das Format muss wie in den Beispielabbildungen sein:
- Alle horizontalen Wände werden mit Unterstrichen dargestellt
- Alle vertikalen Wände werden mit Balken dargestellt
- Es dürfen keine Wände vorhanden sein, an denen die Rechtecke verbunden sind
- Die linke Wand ist gerade
- Weitere Details finden Sie in den Testfällen
Annahmen, die Sie treffen können:
- Alle Maße liegen im Bereich
[1 ... 20]
- Alle horizontalen Dimensionen sind gerade Zahlen
- Die Anzahl der Rechtecke liegt im Bereich
[1 ... 10]
- Es werden nur gültige Eingaben gemacht
- Optionales Eingabeformat (Sie können die Reihenfolge der Eingabeabmessungen festlegen, bitte in der Antwort angeben).
Testfälle:
[2][1]
__
|__|
---
[4][2]
____
| |
|____|
---
[2 6 2 4][2 2 1 3]
__
| |
| |___
| |
| ___|
| |_
| |
| |
|____|
---
[2 14 6 8 4 18 2 10 4 2][1 2 3 1 2 1 1 1 2 1]
__
| |___________
| |
| _______|
| |
| |
| |_
| ___|
| |
| |_____________
| _______________|
| |______
| ____|
| |
| _|
|__|
[2 14 6 8 4 18 2 10 4 2][1 2 3 1 2 1 1 1 2 1]
[1 2 1 1 1 2 1 3 2 1][2 4 10 2 18 4 8 6 14 2]
Antworten:
Retina,
169150113 BytesDie Anzahl der Bytes setzt die Kodierung nach ISO 8859-1 voraus.
Der Code enthält ein abschließendes Leerzeichen in einer abschließenden Newline.
Eingabeformat:
Beispielsweise:
Probieren Sie es online!
quelle
JavaScript (ES6) 174
Der einzige kritische Teil ist die horizontale Reihe, die 2 Teile unterschiedlicher Breite verbindet, wobei sich der vertikale Balken auf der rechten Seite in der Mitte oder am rechten Ende befinden kann.
PRÜFUNG
quelle
Python 3,
230223222217 BytesVielen Dank an @StewieGriffin @KevinLau für ihre Hilfe
Ergebnisse
quelle
a=1;b=2
)m=' _'
stattm=[' ','_']
spart wie 5 Bytes.Rubin 191
Das erste Mal Golf spielen, es ist auch mein erster Tag mit Ruby, also ist es wahrscheinlich nicht das eleganteste Ding der Welt, aber wird es gehen?
quelle