Đưa ra hai tham số mô hình làn đường và chiều dài đường , in một bản trình bày ASCII về các vạch kẻ đường cho Đường và Dịch vụ giao thông để vẽ đường.
Ví dụ đầu vào / đầu ra
Đầu vào : BTHMLRPHU
, 21
Tôi không quan tâm nếu bạn lấy hai tham số hoặc ghép số vào cuối chuỗi, điều đó không rõ ràng.
Đầu vào có thể được lấy từ STDIN, như là một đối số chức năng, các biến môi trường, bất cứ điều gì có ý nghĩa trong ngôn ngữ của bạn.
Đầu ra:
! | 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 !
Mỗi ký tự biểu thị chiều rộng 0,5 mét và chiều dài một km.
Sự chỉ rõ
Đánh dấu làn đường
Đối với mỗi đoạn đường dài 10 km, các vạch kẻ được vẽ ở km 2, 3, 9 và 10 (từ "đỉnh" của đầu ra). Các dấu hiệu được tập trung trong làn đường. Ngoại trừ làn đường dành cho xe đạp và dải phân cách, tất cả các làn đường đều rộng 3 mét (6 ký tự).
Ký tự kim cương và mũi tên ASCII không được phép thay cho các dấu như được chỉ ra trong đầu ra ví dụ.
B
: Làn xe đạp.B
đánh dấu. Rộng 1,5 mét (3 ký tự).T
: Quá cảnh. Đánh dấu kim cươngH
: Làn đường xe chở nhiều người.HOV3
đánh dấuL
vàR
: Làn đường rẽ. Mũi tên đánh dấuP
: Đi qua làn đường. Dấu caretU
: Làn đường không giới hạn. Không có dấu
Dấu phân cách (theo thứ tự ưu tiên)
- Trung vị:
##
(được biểu thị bằngM
trong chuỗi đầu vào, thay thế bất kỳ dấu phân cách nào khác bao gồm cả mương) - Mương (cực trái và cực phải):
!
Dấu chấm than - Làn đường HOV xen kẽ giữa
x
và|
cứ sau 5 km - Bình thường:
|
Những ràng buộc
Chức năng hoặc chương trình của bạn phải:
- In sang STDOUT (điều này có nghĩa là tương đương
System.out.print
với Java,console.log
cho JavaScript, v.v.) - Có thể in 1 - 9 làn với 0 - 10 dải phân cách
- Có thể in tới 50 km đường bộ (50 dòng đầu ra)
- Không sử dụng bất kỳ sơ hở tiêu chuẩn
- Không thể chấp nhận lưu trữ khoảng trắng ngoại trừ tùy chọn
\n
ở cuối đầu ra
Đầu ra lớn nhất có thể: 3700 byte (74 ký tự * 50 dòng).
Đầu ra nhỏ nhất có thể: 5 byte (với đầu vào B
, 1)
Giả định
- Không có dải phân cách liền kề (chuỗi con
MM
sẽ không xảy ra) - Dòng đánh dấu thứ hai có thể bị cắt (ví dụ: nếu chiều dài là 9 hoặc 12 km)
- Làn đường có thể không có ý nghĩa về mặt logic (bất kỳ trật tự nào đều có thể, ví dụ: làn đường rẽ phải ở bên trái đường)
Đây là mã golf , vì vậy mã ngắn nhất (tính bằng byte) sẽ thắng!