挑战
按字符计数的最短代码,用于识别和标记输入中土地的 ASCII 表示中的水洼。
输入将是景观的 ASCII 表示,包括丘陵、山谷和平坦的土地。该程序应该模拟如果被洪水淹没的景观会是什么样子 - 用水填充所有山谷(字符x
)。
景观总是以字符开始和结束,_
并且至少有 2 个字符长,是最短的输入__
。
小山被定义为高地,不应充满水:
__
_/ \_
山谷被定义为洼地,将充满水,直到遇到平地:
_ _
\__/
可以假定输入是干净的,并且仅由字符空格 ( )、换行符 (
\n
)、下划线 ( _
) 以及正斜杠和反斜杠 ( /
and \
) 组成。输入可以看作是一条连续的线,任何包含模糊线输入的输入,例如_/_
或
_ _
\_/
/ \
被视为无效。
对于水下洞穴,如果洞穴水位高于水位,则应保持水位。
测试用例
Input:
__/\__
\__
\ ___ ___________
/ / \_ \_
\_____/ \__ _/
\/
Output:
__/\__
\__
\ ___ ___________
/xxxxxx/ \xxxxxx\_
\xxxxx/ \xxxxx/
\/
Input:
__ ___
/ \_____/
/ _______
________ / \ /
_____/ \ /__ \ \_
____ / \ /__/ __/
\_ / \ ____/
\______\ /____/
Output:
__ ___
/ \xxxxx/
/ _______
________ / \ /
_____/ \xxx/__ \xxxx\_
____ / \xxxx/__/xxxxx/
\xxxxxxxx/ \xxxxxxxxx/
\xxxxxx\ /xxxx/
Input:
__ _
_ ____ ____ _____/ \ /
\ / \ __________/ \ __/ ___ /___\
\___/ \ \ \ \___/ /_
/________\ \___________\
Output:
__ _
_ ____ ____ _____/ \xxx/
\xxxxx/ \xxxxxxxxxxxxxxxxxx/ \xxxxxx/ ___ /xxx\
\xxx/ \xxxxxxx\ \xxx\___/xx/_
/xxxxxxxx\ \xxxxxxxxxxx\
代码计数包括输入/输出(即完整程序)。