Étant donné deux paramètres de tracé de voie et de longueur de route , imprimez une représentation ASCII des marquages de voie pour Roads and Traffic Service pour peindre les routes.
Exemple d'entrée / sortie
Entrée:, BTHMLRPHU 21
Je me fiche que vous preniez deux paramètres ou que vous concaténiez le nombre à la fin de la chaîne, c'est sans ambiguïté.
L'entrée peut provenir de STDIN, comme argument de fonction, variables d'environnement, tout ce qui a du sens dans votre langue.
Production:
! | 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 !
Chaque caractère dénote 0,5 mètre de largeur et un kilomètre de longueur.
spécification
Marquage de voie
Pour chaque tronçon de route de 10 km, des marquages sont peints aux kilomètres 2, 3, 9 et 10 (à partir du "haut" de la sortie). Les marques sont centrées dans la voie. À l'exception de la piste cyclable et de la médiane, toutes les voies ont une largeur de 3 mètres (6 caractères).
Les caractères ASCII en forme de losange et de flèche ne sont pas autorisés à la place des marquages indiqués dans l'exemple de sortie.
B: Piste cyclable.Bmarquage. 1,5 mètres (3 caractères) de large.T: Transit. Marquage au diamantH: Voie réservée aux véhicules très fréquentés.HOV3marquageLetR: Turning lane. Marquage des flèchesP: Passing lane. Marquages au curseurU: Voie sans restriction. Aucun marquage
Séparateurs (par ordre de priorité)
- Médiane:
##(indiquée parMdans la chaîne d'entrée, remplace tout autre séparateur, y compris le fossé) - Fossé (extrême gauche et extrême droite):
!point d'exclamation - Les voies réservées aux VMO alternent entre
xet|tous les 5 km - Ordinaire:
|
Contraintes
Votre fonction ou programme doit:
- Imprimer sur STDOUT (cela signifie des équivalents de
System.out.printpour Java,console.logpour JavaScript, etc.) - Être capable d'imprimer de 1 à 9 voies avec 0 à 10 médianes
- Être capable d'imprimer jusqu'à 50 km de chaussée (50 lignes de sortie)
- Ne pas utiliser de failles standard
- La fin des espaces blancs n'est pas acceptable à l'exception d'une option
\nà la fin de la sortie
Plus grande sortie possible: 3700 octets (74 caractères * 50 lignes).
Sortie la plus petite possible: 5 octets (avec entrée B, 1)
Hypothèses
- Aucune médiane adjacente (la sous
MM- chaîne ne se produira pas) - La deuxième ligne de marquage peut être coupée (par exemple si la longueur est de 9 ou 12 km)
- Les voies peuvent ne pas avoir de sens logique (n'importe quel ordre est possible, par exemple une voie de virage à droite à gauche de la route)
C'est le code-golf , donc le code le plus court (en octets) gagne!