차선 패턴 과 도로 길이 라는 두 가지 매개 변수가 주어지면 도로와 교통 서비스에 도로 표시를위한 차선 표시의 ASCII 표현을 인쇄하십시오.
입 / 출력 예
입력 : BTHMLRPHU
, 21
두 개의 매개 변수를 사용하거나 문자열 끝에 숫자를 연결해도 상관 없습니다. 모호하지 않습니다.
STDIN에서 함수 인수, 환경 변수 등의 언어로 입력 할 수 있습니다.
산출:
! | 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 !
각 문자는 너비 0.5 미터, 길이 1 킬로미터를 나타냅니다.
사양
차선 표시
10km 길이의 도로마다 마킹은 2, 3, 9 및 10 킬로미터 (출력의 "상단"에서)에 페인트됩니다. 표시는 차선 중앙에 있습니다. 자전거 차선 및 중앙값을 제외하고 모든 차선의 폭은 3 미터 (6 자)입니다.
예제 출력에 표시된대로 표시 대신 ASCII 다이아몬드 및 화살표 문자를 사용할 수 없습니다 .
B
: 자전거 도로.B
마킹. 폭 1.5 미터 (3 자)T
: 대중 교통. 다이아몬드 마킹H
: 높은 차량 차선.HOV3
마킹L
및R
: 터닝 레인. 화살표 마킹P
: 추월 차선. 캐럿 표시U
: 무제한 차선. 표시 없음
구분 기호 (우선 순위)
- 중앙값 :
##
(M
입력 문자열 로 표시되고 도랑을 포함한 다른 구분 기호를 대체 함) - 배수로 (왼쪽 및 오른쪽 극단) :
!
느낌표 - HOV 차선 대체 사이
x
와|
모든 5km - 표준:
|
제약
귀하의 기능 또는 프로그램은 다음을 충족해야합니다.
- STDOUT으로 인쇄 (
System.out.print
Java,console.log
JavaScript 등의 항목과 동일 함) - 0-10 개의 중앙값으로 1-9 개의 레인을 인쇄 할 수 있습니다.
- 최대 50km의 도로 (50 줄 출력)를 인쇄 할 수 있습니다.
- 표준 허점을 사용하지 마십시오
\n
출력 끝의 옵션 을 제외하고 후행 공백은 허용되지 않습니다.
가장 큰 출력 : 3700 바이트 (74 자 * 50 줄).
가능한 최소 출력 : 5 바이트 (입력 B
, 1)
가정
- 인접한 중앙값 없음 (하위 문자열
MM
이 발생하지 않음) - 두 번째 표시선이 잘릴 수 있습니다 (예 : 길이가 9km 또는 12km 인 경우)
- 차선은 논리적으로 의미가 없을 수 있습니다 (예 : 도로 왼쪽의 우회전 차선과 같은 모든 순서 가능)
이것은 code-golf 이므로 가장 짧은 코드 (바이트)가 이깁니다!