Dati due parametri della corsia e della lunghezza della strada , stampare una rappresentazione ASCII delle indicazioni di corsia per Strade e Traffic Service per dipingere le strade.
Esempio di input / output
Ingresso:, BTHMLRPHU 21
Non mi importa se prendi due parametri o concateni il numero alla fine della stringa, è inequivocabile.
L'input può essere preso da STDIN, come argomento di funzione, variabili d'ambiente, qualunque cosa abbia senso nella tua lingua.
Produzione:
! | x ## | | x x !
! B | /\ x HOV3 ## <- | -> | ^^ x HOV3 x !
! B | \/ x HOV3 ## | | | | ^^ x HOV3 x !
! | x ## | | x x !
! | x ## | | x x !
! | | ## | | | | !
! | | ## | | | | !
! | | ## | | | | !
! B | /\ | HOV3 ## <- | -> | ^^ | HOV3 | !
! B | \/ | HOV3 ## | | | | ^^ | HOV3 | !
! | x ## | | x x !
! B | /\ x HOV3 ## <- | -> | ^^ x HOV3 x !
! B | \/ x HOV3 ## | | | | ^^ x HOV3 x !
! | x ## | | x x !
! | x ## | | x x !
! | | ## | | | | !
! | | ## | | | | !
! | | ## | | | | !
! B | /\ | HOV3 ## <- | -> | ^^ | HOV3 | !
! B | \/ | HOV3 ## | | | | ^^ | HOV3 | !
! | x ## | | x x !
Ogni personaggio indica 0,5 metri di larghezza e un chilometro di lunghezza.
specificazione
Segnaletica di corsia
Per ogni tratto di strada di 10 km, i segni sono dipinti ai chilometri 2, 3, 9 e 10 (dalla "cima" dell'uscita). I segni sono centrati nella corsia. Ad eccezione della pista ciclabile e della mediana, tutte le corsie sono larghe 3 metri (6 caratteri).
I caratteri di diamante e freccia ASCII non sono consentiti al posto dei segni come indicato nell'output di esempio.
B: Corsia per le bici.Bmarcatura. 1,5 metri (3 caratteri) di larghezza.T: Transito. Marcatura a diamanteH: Corsia per veicoli ad alta occupazione.HOV3marcaturaLeR: svolta corsia. FrecciaP: Passaggio corsia. Marcature del cursoreU: Corsia libera. Nessun segno
Separatori (in ordine di precedenza)
- Mediana:
##(indicato daMnella stringa di input, sostituisce qualsiasi altro separatore incluso fosso) - Ditch (estrema sinistra ed estrema destra):
!punto esclamativo - Le corsie HOV si alternano tra
xe|ogni 5 km - Normale:
|
vincoli
La tua funzione o programma deve:
- Stampa su STDOUT (ciò significa equivalenti di
System.out.printper Java,console.logper JavaScript, ecc.) - Essere in grado di stampare 1 - 9 corsie con 0 - 10 mediane
- Essere in grado di stampare fino a 50 km di carreggiata (50 linee di uscita)
- Non utilizzare scappatoie standard
- Lo spazio bianco finale non è accettabile ad eccezione di un facoltativo
\nalla fine dell'output
Output massimo possibile: 3700 byte (74 caratteri * 50 righe).
Output più piccolo possibile: 5 byte (con input B, 1)
ipotesi
- Nessuna mediana adiacente (
MMnon si verificherà la sottostringa ) - La seconda linea di marcature potrebbe essere tagliata (ad esempio se la lunghezza è di 9 o 12 km)
- Le corsie potrebbero non avere un senso logico (è possibile qualsiasi ordine, ad esempio una corsia di svolta a destra a sinistra della strada)
Questo è code-golf , quindi vince il codice più breve (in byte)!