Diberikan dua parameter, pola lajur dan panjang jalan , cetak representasi ASCII dari marka jalan untuk Jalan dan Layanan Lalu Lintas untuk mengecat jalan.
Contoh input / output
Input:, BTHMLRPHU 21
Saya tidak peduli jika Anda mengambil dua parameter atau menyatukan angka ke akhir string, itu jelas.
Masukan dapat diambil dari STDIN, sebagai argumen fungsi, variabel lingkungan, apa pun yang masuk akal dalam bahasa Anda.
Keluaran:
! | 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 !
Setiap karakter menunjukkan lebar 0,5 meter dan panjang satu kilometer.
Spesifikasi
Tanda jalur
Untuk setiap bentangan 10 km, marka dicat pada kilometer 2, 3, 9, dan 10 (dari "atas" keluaran). Tanda dipusatkan di jalur. Kecuali jalur sepeda dan median, semua jalur memiliki lebar 3 meter (6 karakter).
Karakter berlian dan panah ASCII tidak diizinkan sebagai pengganti tanda-tanda seperti yang ditunjukkan dalam contoh output.
B: Jalur sepeda.Bmenandai. Lebar 1,5 meter (3 karakter).T: Transit. Penandaan berlianH: Jalur kendaraan dengan okupansi tinggi.HOV3menandaiLdanR: Turning lane. Tanda panahP: Passing lane. Tanda caretU: Jalur tidak terbatas. Tidak ada tanda
Pemisah (sesuai urutan)
- Median:
##(dilambangkan olehMdalam string input, menggantikan pemisah lainnya termasuk parit) - Parit (ekstrem kiri dan kanan ekstrem):
!Tanda seru - Jalur HOV bergantian antara
xdan|setiap 5 km - Normal:
|
Kendala
Fungsi atau program Anda harus:
- Cetak ke STDOUT (ini artinya setara dengan
System.out.printuntuk Java,console.loguntuk JavaScript, dll.) - Dapat mencetak 1 - 9 jalur dengan 0 - 10 median
- Mampu mencetak hingga 50 km jalan (50 garis output)
- Tidak menggunakan celah standar apa pun
- Trailing white space tidak dapat diterima dengan pengecualian opsional
\ndi akhir output
Output terbesar yang mungkin: 3700 byte (74 karakter * 50 baris).
Output sekecil mungkin: 5 byte (dengan input B, 1)
Asumsi
- Tidak ada median yang berdekatan (substring
MMtidak akan terjadi) - Garis tanda kedua mungkin terpotong (misalnya jika panjangnya 9 atau 12 km)
- Jalur mungkin tidak masuk akal secara logis (urutan apa pun dimungkinkan, misalnya jalur belok kanan di kiri jalan)
Ini adalah kode-golf , jadi kode terpendek (dalam byte) menang!