Im Rahmen eines Stadtplanungsprojekts haben Sie den Auftrag erhalten, ein Programm oder eine Funktion zu erstellen, mit der die Skyline der Stadt angezeigt wird, und zwar unter Einbeziehung der Architekten. Das Projekt befindet sich erst in der Startphase, daher ist eine sehr grobe Skizze ausreichend. Am einfachsten ist es natürlich, die Skyline einfach in ASCII-Kunst zu zeichnen.
Alle Gebäude werden am Fluss liegen, daher sind sie alle ausgerichtet. Die Architekten geben die Höhe jedes Gebäudes als Eingabe an, und Ihr Code sollte die Skyline anzeigen.
Die Eingabe von den Architekten wird entweder eine ganze oder eine halbe ganze Zahl sein. Wenn die Zahl eine Ganzzahl ist, hat das Gebäude ein flaches Dach, während eine halbe Ganzzahl ein geneigtes Dach ergibt. Eine Null ist eben eben. Die Wände eines Gebäudes sind 3 Zeichen voneinander entfernt, während eine Null ein einzelnes Zeichen breit ist. Benachbarte Gebäude teilen sich Wände.
Einzelheiten und Erläuterungen zur Ausgabe finden Sie in den folgenden Beispielen:
N = 3
___
| |
| |
|___|
N = 3.5
_
/ \
| |
| |
|___|
N = 6
___
| |
| |
| |
| |
| |
|___|
n = 0
_
Beispiel Eingabe: 3 3.5 0 2
_
___ / \
| | | ___
| | | | |
|___|___|_|___|
Beispiel Eingabe: 0 0 2.5 3 0 4 1
___
_ ___ | |
/ \| | | |
| | | | |___
__|___|___|_|___|___|
Louisville ,0 2 1 3.5 0 4 2 4 2 4 6 1 6 0 5 1
___ ___
| | | | ___
_ ___ ___ ___| | | | | |
/ \ | | | | | | | | | | |
___ | | | |___| |___| | | | | | |
| |___| | | | | | | | |___| | | |___
_|___|___|___|_|___|___|___|___|___|___|___|___|_|___|___|
Die verwendeten ASCII-Zeichen sind: Zeilenvorschub, Leerzeichen und /\_|
(Codepunkte 10, 32, 47, 92, 95, 124).
Regeln:
- Es ist optional, ein Programm zu erstellen, das nur Ganzzahlen als Eingabe verwendet, indem alle Zahlen mit zwei multipliziert werden. Anstatt also zu nehmen
3 3.5 2
, kann Ihr Programm dauern6 7 4
. Wenn das zweite Eingabeformat ausgewählt ist, sollte eine Eingabe von 6 zu einem dreistöckigen Gebäude führen, 7 sollte ein dreistöckiges Gebäude mit geneigten Dächern usw. sein. - Die Ausgabe sollte genau wie oben beschrieben sein, aber nachgestellte Leerzeichen und Zeilenumbrüche sind in Ordnung.
- Das genaue Format der Eingabe ist optional. Was auch immer am besten in Ihrer Sprache ist.
- Das Ergebnis muss auf dem Bildschirm angezeigt werden, damit die Architekten es sich ansehen können.
- Sie können davon ausgehen, dass mindestens eine Ganzzahl angegeben wird und dass nur gültige Eingaben erfolgen.
Das ist Codegolf, also gewinnt der kürzeste Code in Bytes.