蛇看起来像这样:
>>>v
@ ^ v
^ >>>^ v
^ v
^<<<<<<<<<
在这种情况下,蛇可以越过自身:
@
^
>^>v
^<<
为了使交叉有效,两侧的字符必须沿相同方向移动。的情况下
@
>^v
^<
可以认为不清楚和无效。
输出是WASD
代表从头到尾(@
)的字符串。
给定一条不会回溯且不模糊的蛇,您是否可以编写一个程序来输出蛇执行的一系列动作?
这是代码高尔夫球,所以最短的答案会成功!
测试用例:
(注意:@
可以用以外的任何字符替换v^<>
)
输入:
>>>>v
v
v<< @
v ^
>>>>>^
输出: ddddssaassdddddww
输入:
@>>v
^ v
^ v
^<<<
输出: dddsssaaawww
输入:
>>>v
v @
v ^
>>>>v ^
>>>>^
输出: dddsssddddsddddwww
输入:
@<< v
^ v
v<^<<
v ^
>>^
输出: ssaaaassddwwwwaa
输入:
@v<v
^v^v
^v^<
^<
输出: ssawwasssawww
1
输入必须是单个String还是可以接受String []?输入的每一行填充的长度都一样吗?还是必须处理不规则的行长?
—
CAD97
这给了我可怕的回忆,回到了关于魔方问题的蚂蚁的路径。
—
马特
起始段将始终位于第0行,即char 0,还是我们必须找到它?
—
市长蒙蒂
@SpeedyNinja测试用例2和4都没有以(0,0)开始,而测试用例0(蛇形)并没有以(0,0)开始或结束。
—
CAD97
@ CAD97哦,这很值得;)
—
市长Monty