Negli Stati Uniti , le due direzioni opposte del traffico su una strada sono separate da una linea gialla tratteggiata se il passaggio è consentito e due linee gialle continue se il passaggio non è consentito.

(Solo un lato può essere tratteggiato per consentire il passaggio su quel lato e le linee gialle possono significare altre cose come corsie centrali o reversibili, ma non ci occupiamo di nessuno di questi casi.)
Scrivere un programma che prende in un run-length codificato serie di Pper il passaggio e Nper nessun passaggio , e stampa una versione ASCII della strada corrispondente. Ad eccezione della linea centrale, la strada ha sempre lo stesso modello, che può essere facilmente dedotto dagli esempi seguenti.
Ci sarà un numero decimale positivo prima di ciascuno Pe Nnella stringa di input. Questo numero definisce la lunghezza della regione che passa o che non passa nella parte corrente della strada.
Esempi
Un input di 12Nprodurrebbe 12 colonne senza strada di passaggio (linea centrale tutta =):
____________
============
____________
Un input di 12Pprodurrebbe 12 colonne di passaggio (linea centrale che si - ripete):
____________
- - - - - -
____________
Il passaggio e il non passaggio possono quindi essere combinati, ad esempio 4N4P9N7P1N1P2N2Pprodurrebbe:
______________________________
====- - =========- - - -=-==-
______________________________
Queste sono 4 colonne senza passaggio , quindi 4 passaggi , quindi 9 nessun passaggio , ecc.
Si noti che una zona di passaggio inizia sempre con un trattino ( -) sul lato più a sinistra, non uno spazio ( ). Questo è richiesto
Dettagli
- L'input non avrà mai due
Nzone o duePzone di fila. ad es.4P5Pnon accadrà mai. - Non è necessario supportare le lettere senza un numero positivo iniziale. La pianura
Psarà sempre1P, la pianuraNsarà sempre1N. - Potrebbero esserci spazi finali purché non si estendano oltre l'ultima colonna della strada. Potrebbe esserci una nuova riga finale opzionale.
- Invece di un programma, è possibile scrivere una funzione che accetta la stringa codificata di lunghezza e stampa o restituisce la strada ASCII.
- Accetta input in qualsiasi modo standard (stdin, riga di comando, funzione arg).
Vince il codice più breve in byte. Tiebreaker è post precedente.