У Сполучених Штатах два протилежних напрямки руху на дорозі розділені пунктирною жовтою лінією, якщо проїзд дозволений, і двома суцільними жовтими лініями, якщо проїзд не дозволений.
(Лише одна сторона може бути штриховою, щоб дозволити проходження по цій стороні. Жовті лінії можуть означати інші речі, як центральні або оборотні смуги руху, але нас жоден із цих випадків не стосується.)
Напишіть програму, яка містить кодовану рядком довжину прогонуP
для проходження і N
для не проходження , і друкує ASCII версію відповідної дороги. За винятком центральної лінії, дорога завжди має той самий малюнок, який легко можна зробити з наведених нижче прикладів.
Перед кожним P
і N
в рядок введення буде додаткове десяткове число . Це число визначає довжину проїжджаючої ділянки дороги, яка проходить, або без неї.
Приклади
Вхід 12N
буде створювати 12 стовпців не проїзної дороги (центральна лінія всіх =
):
____________
============
____________
Вхід 12P
буде виробляти 12 колон проходження дороги (центральну лінію -
повторювану):
____________
- - - - - -
____________
Проходження та без проходження потім можуть бути об'єднані, наприклад, це 4N4P9N7P1N1P2N2P
призведе до:
______________________________
====- - =========- - - -=-==-
______________________________
Це 4 немає прохідних стовпців, потім 4 прохідні , потім 9 не прохідних тощо.
Зверніть увагу, що зона проходження завжди починається з тире ( -
) на лівій лівій стороні, а не пробілом ( ). Це потрібно.
Деталі
- На вході ніколи не буде двох
N
зон або двохP
зон підряд. наприклад4P5P
, ніколи не відбудеться. - Вам не потрібно підтримувати листи без провідної позитивної цифри. Рівнина
P
завжди буде1P
, рівнинаN
завжди буде1N
. - Можуть бути пробіли, поки вони не виходять за межі кінцевої колони дороги. Можливо, є один необов'язковий кінцевий новий рядок.
- Замість програми ви можете написати функцію, яка приймає кодований рядок довжиною пробігу та друкує або повертає дорогу ASCII.
- Вводиться будь-яким стандартним способом (stdin, командний рядок, функція arg).
Виграє найкоротший код у байтах. Tierereaker - це раніше повідомлення.