编写一个程序或函数,该程序或函数采用正整数N(通过stdin /命令行/函数arg)并打印或返回由N个长步长(由斜杠引出)的二维随机游走的字符串表示形式:(/
\
加上空格和换行符)。
2D随机游动从无限整数晶格的原点开始。然后,重复N次,随机地均匀选择基本方向(上,下,左,右),并且助行器在该方向上移动一个单位。采取的最终路径是随机游走。
这是N = 6时的随机游走。请注意,到达(-1,3)时,它会向后移动。
为了用斜线画出它,我们实际上需要将整个对象顺时针旋转45°。斜线版本中未绘制轴以及起点和终点。
/
\
\
/\
像这样的更复杂的步行(N = 20,尽管无法分辨):
会变成这样:
/
/\/ /\
\/\/
/\/
\/
您的程序需要生成这些类型的斜杠版本的随机游走。您必须随机选择步行要走的每个新方向,因此程序每次运行一定的N几乎肯定会产生不同的步行。(伪随机性很好。)
最低和最高斜杠上方或下方不得有任何空行(除了一个可选的尾随换行符),并且最左边和最右边的斜杠之前或之后绝对不应有空格的空列。
因此,对于N = 1,输出始终为/
或\
,但永远不会像这样:
/
只要不超过最右斜杠的列,就可以使用尾随空格。
字节最少的提交将获胜。这是一个方便的字节计数器。