假设有一个二维数组, 长宽都为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步, 然后输出结果.
2 回答5.3k 阅读✓ 已解决
4 回答1.7k 阅读✓ 已解决
4 回答1.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
4 回答2.3k 阅读
2 回答841 阅读✓ 已解决
这不是小小的算法题
一来其实就一个递归就可以二来没有确认的输出,没法确定结果对不对
好吧递归解决这个问题是不太行,那就循环吧
定义一个“头”节点列表,遍历这个列表,生成新的头,保存在另一个“头”节点列表里
然后一直反复直到走完了N步或者彻底走不动了为止