Вам дан ряд местности с кротовинами и горами:
/\
/ \
_/\__ / \
___/ \_/ \_
____/\___/ \___
Ваша задача - заменить каждую кротовину в строке на эквивалентную гору, центрированную в том же столбце. Остальная часть строки не должна быть затронута. Это может потребовать дополнительных строк в начале строки.
Кротовина состоит из соседних столбцов , где рельеф местности идет вверх, сразу после соседних столбцов , где рельеф понижается. Самая короткая сторона должна иметь ширину ровно в один столбец.
Это все кроты:
_____/\______
/\________
__/
________/\
\__
\ /
\ /
\ /
\ /
\/\_/
Это не кроты
/\
___/ \______
___
_____/ \___
____ _______
\/
Гора подобна бугорка, но самая короткая сторона четыре линии высокого вместо одного.
Примеры
/\
/ \
-> / \
____/\____ _/ \_
/\
/ \
/ \
__ -> / \__
_ /\__/ __/
\___/
/\
/ \
-> / \
/\ /\/ \
_/ \__/\_____ _/ \_
_ _ _ _
\ / \ /\ /
\ / \ / \ /
\ / \ / \ /
\ / -> \/ \/
\ /
\ /
\/\/
/\ /\
/ \ / \
/ \ / \
_ -> _/ \/ \
\ \
\ \
\/\______/\_______ \_
/\ /\ /\
/ \ /\ / \ / \
_/\__ / \ -> / \ / \ / \
___/ \_/ \_ / \ __/ \_/ \_
____/\___/ \___ _/ \/ \___
Дополнительные правила
- Стандартные лазейки запрещены.
- Ввод и вывод могут быть в любом разумном формате.
- Вы можете предположить наличие или отсутствие конечных пробелов во входной строке.
- Там всегда будет достаточно места по бокам струны, а также между кротовинами для любых гор, которые вам могут понадобиться.
- Если замена кротовин на горы создает дополнительных кротовин, вам не нужно превращать этих кротовин в горы.
- Местность не может подниматься и опускаться в одном и том же столбце. Если это произойдет, местность не движется.
- Если конкретная колонна не становится частью горы, ее высота должна оставаться неизменной.
Это код-гольф , поэтому выигрывает самый короткий ответ в байтах.
/, \, _
, так как же он может одновременно подниматься и опускаться?