W Stanach Zjednoczonych dwa przeciwne kierunki ruchu na drodze są oddzielone przerywaną żółtą linią, jeśli dozwolone jest przejazd, oraz dwie stałe żółte linie, jeśli przejazd jest niedozwolony.

(Tylko jedna strona może być przerywana, aby umożliwić przejście po tej stronie, a żółte linie mogą oznaczać inne rzeczy, takie jak środkowe lub odwracalne pasy, ale nie zajmujemy się tymi przypadkami.)
Napisz program, który odbywa się w run-length zakodowany ciąg Pna przejściu i Nna żadnym biegiem , a drukuje wersji ASCII odpowiedniej drogi. Z wyjątkiem linii środkowej droga ma zawsze ten sam wzór, co można łatwo wywnioskować z poniższych przykładów.
Przed każdym Piw Nciągu wejściowym będzie dodatnia liczba dziesiętna . Liczba ta określa długość przejeżdżającego lub nie przejeżdżającego regionu bieżącej części drogi.
Przykłady
Dane wejściowe 12Nwygenerowałyby 12 kolumn bez przejeżdżającej drogi (linia środkowa wszystkie =):
____________
============
____________
Dane wejściowe 12Pwygenerowałyby 12 kolumn przejeżdżającej drogi ( - powtarzająca się linia środkowa ):
____________
- - - - - -
____________
Podanie i brak podania nie mogą być następnie połączone, np. 4N4P9N7P1N1P2N2PSpowoduje
______________________________
====- - =========- - - -=-==-
______________________________
Są to 4 kolumny bez przejścia , następnie 4 przejścia , a następnie 9 brak przejścia itp.
Zauważ, że mijająca strefa zawsze zaczyna się od myślnika ( -) po lewej stronie, a nie spacji ( ). To jest wymagane.
Detale
- Wejście nigdy nie będzie miało dwóch
Nlub dwóchPstref z rzędu. np.4P5Pnigdy nie nastąpi. - Nie musisz obsługiwać liter bez wiodącej liczby dodatniej. Zwykły
Pzawsze będzie1P, zwykłyNzawsze będzie1N. - Mogą występować spacje końcowe, o ile nie rozciągają się one poza ostatnią kolumnę drogi. Może być jeden opcjonalny znak nowej linii.
- Zamiast programu możesz napisać funkcję, która pobiera zakodowany ciąg znaków i wypisuje lub zwraca drogę ASCII.
- Pobiera dane wejściowe w dowolny standardowy sposób (standardowe, wiersz poleceń, funkcja arg).
Najkrótszy kod w bajtach wygrywa. Tiebreaker jest wcześniejszym postem.