假设有一个二维数组, 长宽都为x, x为大于10的奇数.
初始, 这个二维数组里面都为0.
然后, 从中间点开始设置为1, 然后这个1, 随机选择一个方向开始进行移动.
路过的地方都会变成1.
每次行走, 不会后退, 也不会选择已经是1的地方, 最多分裂两个方向.(从三个方向随机选择1个的几率为a, 分裂为两个方向的几率为1-a)
题目就是让这个1走N步, 然后输出结果.
假设有一个二维数组, 长宽都为x, x为大于10的奇数.
初始, 这个二维数组里面都为0.
然后, 从中间点开始设置为1, 然后这个1, 随机选择一个方向开始进行移动.
路过的地方都会变成1.
每次行走, 不会后退, 也不会选择已经是1的地方, 最多分裂两个方向.(从三个方向随机选择1个的几率为a, 分裂为两个方向的几率为1-a)
题目就是让这个1走N步, 然后输出结果.
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答3k 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
这不是小小的算法题
一来其实就一个递归就可以二来没有确认的输出,没法确定结果对不对
好吧递归解决这个问题是不太行,那就循环吧
定义一个“头”节点列表,遍历这个列表,生成新的头,保存在另一个“头”节点列表里
然后一直反复直到走完了N步或者彻底走不动了为止