数独的递归深度不是空格数吗?

socket 发布于 2013/07/27 16:02
阅读 181
收藏 0

RT

在解数独的时候,采用深度优先搜索,递归的深度是不是就是空格数?比如,数独是9x9共81个格子,填满的有17个格子,剩下的81-17=64个格子是空的,那么递归的深度应该是64啊,可是为什么不是呢?因为运行报错:RuntimeError: maximum recursion depth exceeded in comparison

,而python递归深度默认有900多,说明远远超出了64的深度,这是怎么回事儿?

加载中
0
袁不语
袁不语

两个建议:

1. 检查一下结束条件。或者加几行log,每次调用输出一下深度。

2. sys.setrecursionlimit 使用该方法设置一下递归深度。(一般不会是这里的问题,我记得默认也是900多,不过还是试一下吧。)

socket
socket
终于搞出来了~深度是空格数,也就是最深只有81层递归深度。确实是结束条件的问题~谢谢~
返回顶部
顶部