Dado el patrón de carril de dos parámetros y la longitud del camino , imprima una representación ASCII de las marcas del carril para que el Servicio de Caminos y Tráfico pueda pintar los caminos.
Ejemplo de entrada / salida
Entrada: BTHMLRPHU
21
No me importa si toma dos parámetros o concatena el número al final de la cadena, no es ambiguo.
La entrada puede tomarse de STDIN, como argumento de función, variables de entorno, lo que tenga sentido en su idioma.
Salida:
! | 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 !
Cada carácter denota 0,5 metros de ancho y un kilómetro de longitud.
Especificación
Marcas de carril
Por cada tramo de carretera de 10 km, las marcas se pintan en los kilómetros 2, 3, 9 y 10 (desde la "parte superior" de la salida). Las marcas se centran en el carril. Con la excepción del carril bici y la mediana, todos los carriles tienen 3 metros (6 caracteres) de ancho.
Los caracteres ASCII de diamante y flecha no están permitidos en lugar de las marcas como se indica en el resultado del ejemplo.
B
: Carril de bicicletas.B
calificación. 1.5 metros (3 caracteres) de ancho.T
: Tránsito. Marcado de diamantesH
: Carril de vehículos de alta ocupación.HOV3
calificaciónL
yR
: Carril de giro. Marca de flechaP
: Pasando el carril. Marcas de cuidadoU
: Carril sin restricciones. Sin marcas
Separadores (en orden de precedencia)
- Mediana:
##
(denotado porM
en la cadena de entrada, reemplaza cualquier otro separador, incluida la zanja) - Zanja (extrema izquierda y extrema derecha):
!
signo de exclamación - HOV carriles alternan entre
x
y|
cada 5 kilómetros - Normal:
|
Restricciones
Su función o programa debe:
- Imprimir en STDOUT (esto significa equivalentes
System.out.print
para Java,console.log
JavaScript, etc.) - Poder imprimir de 1 a 9 carriles con 0 a 10 medianas
- Ser capaz de imprimir hasta 50 km de carretera (50 líneas de salida)
- No usar ninguna laguna estándar
- El espacio en blanco
\n
al final no es aceptable con la excepción de un opcional al final de la salida
Salida más grande posible: 3700 bytes (74 caracteres * 50 líneas).
Salida más pequeña posible: 5 bytes (con entrada B
, 1)
Supuestos
- No hay medianas adyacentes (
MM
no se producirá una subcadena ) - La segunda línea de marcas podría cortarse (por ejemplo, si la longitud es de 9 o 12 km)
- Los carriles pueden no tener sentido lógicamente (cualquier orden es posible, por ejemplo, un carril de giro a la derecha a la izquierda de la carretera)
Este es el código de golf , por lo que gana el código más corto (en bytes).