按字符排序的最短代码,用于从输入中识别和标记土地的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)