Tại Hoa Kỳ , hai hướng giao thông đối diện trên một con đường được phân cách bằng một đường màu vàng đứt đoạn nếu được phép đi qua và hai đường màu vàng nếu không được phép đi qua.
(Chỉ một bên có thể được gạch ngang để cho phép đi qua phía đó và các đường màu vàng có thể có nghĩa là những thứ khác như làn đường trung tâm hoặc đảo ngược, nhưng chúng tôi không quan tâm đến bất kỳ trường hợp nào trong số đó.)
Viết một chương trình mà mất trong một chạy dài mã hóa chuỗi P
cho đi và N
cho không đi qua , và sau đó in ra phiên bản ASCII của con đường tương ứng. Ngoại trừ đường trung tâm, đường luôn có cùng một mẫu, có thể dễ dàng suy ra từ các ví dụ dưới đây.
Sẽ có một số thập phân dương trước mỗi P
và N
trong chuỗi đầu vào. Con số này xác định độ dài của khu vực đi qua hoặc không có khu vực đi qua của phần hiện tại của con đường.
Ví dụ
Một đầu vào 12N
sẽ tạo ra 12 cột không có đường đi qua (đường trung tâm tất cả =
):
____________
============
____________
Một đầu vào của 12P
sẽ tạo ra 12 cột đường đi qua ( -
lặp lại đường trung tâm ):
____________
- - - - - -
____________
Vượt qua và không vượt qua sau đó có thể được kết hợp, ví dụ 4N4P9N7P1N1P2N2P
sẽ tạo ra:
______________________________
====- - =========- - - -=-==-
______________________________
Đây là 4 cột không đi qua , rồi 4 đường chuyền , rồi 9 đường chuyền , v.v.
Lưu ý rằng vùng đi qua luôn bắt đầu bằng dấu gạch ngang ( -
) ở phía ngoài cùng bên trái, không phải khoảng trắng ( ). Điều này là bắt buộc.
Chi tiết
- Đầu vào sẽ không bao giờ có hai
N
vùng hoặc haiP
vùng liên tiếp. ví dụ4P5P
sẽ không bao giờ xảy ra - Bạn không cần phải hỗ trợ thư mà không có số dương. Đồng bằng
P
sẽ luôn luôn1P
, đồng bằngN
sẽ luôn luôn1N
. - Có thể có những khoảng trống kéo dài miễn là chúng không vượt quá cột cuối cùng của con đường. Có thể có một dòng mới tùy chọn.
- Thay vì một chương trình, bạn có thể viết một hàm lấy chuỗi được mã hóa có độ dài chạy và in hoặc trả về đường ASCII.
- Đưa đầu vào theo bất kỳ cách tiêu chuẩn nào (stdin, dòng lệnh, hàm arg).
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là bài trước.