Wraz z wielkim kryzysem gospodarki uniwersalnej spadł również popyt na planety na zamówienie. Magratheanie musieli dbać o bardziej stabilne przychody także od szerszej klasy klientów. Dlatego wymyślili własny łańcuch górski (lub krótkie spustoszenie gór) dla ludzi o mniejszym budżecie, których nie stać na kompletną planetę.
Góry są budowane zgodnie z planem klienta (aka ciągi cyfr i kropek) i dostarczane za pomocą ASCII-art (składające się z , /, \, ^i v).
Zadanie
Napisz kompletny program, który pobiera dane wejściowe (pojedynczy ciąg) ze STDIN lub jako argument i dane wyjściowe do STDOUT. Ta łamigłówka to gra w golfa kodowego, więc proszę pokazać trochę gry w golfa.
Wejście
Ciąg kropek i cyfr stanowiących podstawę łańcucha górskiego. Każdy łańcuch jest dokładnie tak długi, jak to konieczne, aby podeprzeć góry, a każdy szczyt jest oznaczony cyfrą zamiast kropki, wskazując wysokość szczytu.
Wynik
Ascii wersja łańcucha górskiego.
- Każda cyfra na wejściu reprezentuje dokładnie jeden pik (
^) na dokładnie wysokości wskazanej przez cyfrę (tj. 9 to najwyższa wysokość). - Na wyjściu nie mogą występować dodatkowe piki (tj. W miejscach, gdzie na wejściu jest kropka).
- Góry mają kształt trójkąta, tzn. Stoki są tworzone za pomocą znaków
/i\. - Przepustki, w których dwie góry zachodzą na siebie, są kształtowane za pomocą postaci
v. - Żadnych zbędnych nowych linii ani pustych linii.
- Linie dopełniające ze spacjami są opcjonalne.
Możesz założyć, że podane dane wejściowe są prawidłowe, tzn. Zawsze istnieje rozwiązanie zgodne z regułami (np. Dane wejściowe 13..nie spowodowałyby prawidłowej konfiguracji i mogą zostać zignorowane). Co więcej, po każdej stronie znajduje się dokładnie tyle kropek, że nie można przycinać gór.
Przykłady
Pierwszy wiersz pokazuje wejście, wszystkie pozostałe wiersze stanowią pożądany wynik. (W rzeczywistości góry wyglądają znacznie lepiej na mojej konsoli niż tutaj.)
1
^
11
^^
1.2.
^
^/ \
.2.3..
^
^/ \
/ \
.2..3..
^
^ / \
/ v \
...4...3...3..
^
/ \ ^ ^
/ \/ \ / \
/ v \
1jest \n\n\n\n\n\n\n\n^?