相关疑难解决方法(0)

Code Golf:自来水

挑战

按字符排序的最短代码,用于从输入中识别和标记土地的ASCII表示中的水凹陷.

输入将是景观的ASCII表示,具有丘陵,山谷和平坦的土地.该程序应模拟景观如果被淹没将会是什么样子 - 用水填充所有山谷(角色x).

景观将始终以角色开始和停止,_并且至少2个字符长,输入最短__.

山被定义为加高,不应该用水填充:

  __
_/  \_
Run Code Online (Sandbox Code Playgroud)

山谷被定义为凹陷,将被水填满,直到遇到平地:

_    _
 \__/
Run Code Online (Sandbox Code Playgroud)

可以假定输入是干净的,并且仅由字符space(), newline (\n),下划线(_)以及前向和后向斜杠(/\)组成.输入可以看作是一条连续线,以及包含模糊线输入的任何输入,如_/_

_   _
 \_/
 / \
Run Code Online (Sandbox Code Playgroud)

被认为无效.

关于水下洞穴,如果洞穴水位高于水位,则应保持水位.

测试用例

Input:
    __/\__
          \__              
             \       ___       ___________
             /      /   \_     \_
             \_____/      \__  _/
                             \/
Output:

    __/\__
          \__              
             \       ___       ___________
             /xxxxxx/   \xxxxxx\_
             \xxxxx/      \xxxxx/
                             \/
Run Code Online (Sandbox Code Playgroud)
Input:
                                         __       ___
                                        /  \_____/
                                       / _______
                         ________     /  \     /
                   _____/        \ …
Run Code Online (Sandbox Code Playgroud)

language-agnostic code-golf rosetta-stone

53
推荐指数
4
解决办法
3156
查看次数