Mit dem großen Zusammenbruch der Weltwirtschaft sank auch die Nachfrage nach maßgeschneiderten Planeten. Die Magratheaner mussten sich auch um stabilere Einnahmen von einer breiteren Klasse von Kunden kümmern. Aus diesem Grund haben sie die eigene Bergkette (oder kurz Chaos-O-Berge) für Menschen mit geringerem Budget erfunden, die sich keinen vollständigen Planeten leisten konnten.
Die Berge sind bauen nach Kundenwunsch Plan (auch bekannt als Strings von Ziffern und Punkten) und lieferte mit ascii-art (bestehend aus ,
/
, \
, ^
und v
).
Aufgabe
Schreiben Sie ein vollständiges Programm, das Eingaben (einzelne Zeichenfolge) entweder von STDIN oder als Argument empfängt und an STDOUT ausgibt. Bei diesem Puzzle handelt es sich um ein Code-Golfspiel. Zeigen Sie daher bitte einige Golfversuche.
Eingang
Eine Reihe von Punkten und Ziffern, die die Grundlage für die Bergkette bilden. Jede Saite ist genau so lang wie nötig, um die Berge zu stützen. Jeder Gipfel wird durch eine Ziffer anstelle eines Punkts angegeben, der die Höhe des Gipfels angibt.
Ausgabe
Eine ASCII-Version der Bergkette.
- Jede Ziffer in der Eingabe repräsentiert genau einen Peak (
^
) in genau der Höhe, die von der Ziffer angegeben wird (dh 9 ist die höchste Höhe). - Es dürfen keine zusätzlichen Peaks in der Ausgabe vorhanden sein (dh an Stellen, an denen sich ein Punkt in der Eingabe befindet).
- Berge haben eine dreieckige Form, dh Hänge werden mit
/
und\
Zeichen erstellt. - Pässe, bei denen sich zwei Berge überlappen, werden anhand des Zeichens geformt
v
. - Keine überflüssigen Zeilenumbrüche oder Leerzeilen.
- Das Auffüllen von Zeilen mit nachgestellten Leerzeichen ist optional.
Sie können davon ausgehen, dass die angegebene Eingabe gültig ist, dh es gibt immer eine Lösung gemäß den Regeln (z. B. würde eine Eingabe von 13..
nicht zu einer gültigen Konfiguration führen und möglicherweise ignoriert). Außerdem gibt es auf jeder Seite genau so viele Punkte, dass die Berge nicht beschnitten werden dürfen.
Beispiele
Die erste Zeile zeigt den Eingang, alle anderen Zeilen bilden den gewünschten Ausgang. (Eigentlich sehen die Berge in meiner Konsole viel besser aus als hier.)
1
^
11
^^
1.2.
^
^/ \
.2.3..
^
^/ \
/ \
.2..3..
^
^ / \
/ v \
...4...3...3..
^
/ \ ^ ^
/ \/ \ / \
/ v \
1
, ist \n\n\n\n\n\n\n\n^
erlaubt?