5
走迷宫
也许它不是真正的迷宫,但仍然如此。 规则: 输入是一个两行字符串,包括*,1,x和X。那根绳子是迷宫。线的长度相等。 您可以将输入作为带有,(逗号)的字符串或这两行之间的任何方便的分隔符。或者,您也可以将这两行作为函数的单独参数。 输出是退出字符串必须执行的步骤数(最后一步是将您移出字符串的步骤)。 您从左上角(较高的线)开始,在第一个符号之前。 对于每一步,您将向前移动一个符号(从第n个位置到第(n + 1)个位置)。然后,根据您所踩的角色,结果是不同的。这是每个字符的作用: *- 没有。您通常只是踩到它。 x-踩到它后,切换线路,但与起点保持相同的水平距离。例如,您踩到较高行的第三个位置,并在x此处遇到了一个小写字母。然后,您立即移至下一行,但再次移至第三位置。 X-切换线路并转到下一个位置。此处的示例相同,但您也从第三位置移至第四位置(因此,第二行位于第四位置)。 1 -向前移动另一个位置。 每个角色完成工作后,将替换为空格,不再“有效”。 示例如下。 输入: x * 如前所述,您从第一行的第一个符号开始。第一步将您移至字母上x,此字母将您切换至第二行。该字母x不再用作x,而是由代替*。在后面的示例中,这将更有意义。您现在位于底行的星号上,对您没有任何作用。 第二步是将您向前移动,然后退出弦线,因此迷宫完成了,并且花费了2个步骤。 输出 2。 输入: xX* x1* 第一步:继续前进x,这会将您移至x下一行的。这是一条规则,该规则说使用的字符替换为星号。然后,您移回第一行,但x由于它已被使用并成为星号,因此不再存在。因此,您可以安全地在该星号上移动,并且该步骤已完成(您现在位于第一行的第一个位置)。 第二步:继续前进X,它会将您推到较低的线,然后再将您向前推。您现在位于第二行的第三个位置(星号),而从未访问过第二个位置(包含1)。 第三步:向前移动,退出字符串。 输出:3。 测试用例: 输入: *1* xxx 输出:3。(因为1使您跳到第三位置)。在那里您永远不会访问第二行,但这是输入的必需部分。 输入: *X*1*x x*1xx* 输出:4。 输入: 1x1x ***X 输出:3。 输入: 1*x1xxx1*x x*x1*11X1x 输出:6。 输入: xXXXxxx111* …