216得票6回答
如何消除数独方格中的凸缺陷?

我正在做一个有趣的项目:使用OpenCV(如Google goggles等)从输入图像解决数独问题。我已经完成了任务,但最后发现了一个小问题,所以来这里求助。 我使用OpenCV 2.3.1的Python API进行编程。 以下是我的做法: 读取图像 查找轮廓 选择最大面积的轮廓,(也...

90得票16回答
如何生成具有唯一解的数独棋盘

如何生成一个只有唯一解的数独棋盘?我的想法是初始化一个随机的棋盘,然后去掉一些数字。但我想知道如何保持解的唯一性?

33得票2回答
跳舞链接算法 - 一个更注重实现而不是解释的解释?

我一直在开发一个数独求解器,目前的求解器使用回溯算法,但是仍然需要太长时间。 我希望将其缩短至大多数情况下少于一秒。因此,我决定使用跳跃链接算法进行重写,了解它是一种更好的暴力方法,特别适用于像数独难题这样的约束问题。 我尝试阅读维基百科和Knuth's paper上关于它的介绍,但两者都...

26得票3回答
如何使用OpenCV获取数独格子的单元格?

我最近几天一直在尝试从图片中获取数独网格,但我一直在努力获取网格的小方块。 我正在处理下面的图片。我认为使用Canny滤波器处理图像会很好,但它没有起作用,我无法得到每个小正方形的轮廓。然后我测试了自适应阈值、Otsu和经典阈值,但每次都无法捕捉到每个小正方形。 最终目标是获取包含数字的单元...

25得票25回答
一个酷炫的算法来检测数独场?

有没有人知道一个简单的算法来检查数独配置是否有效?我想到的最简单的算法是(对于大小为n的棋盘)伪代码如下: 有没有人知道一个简单的算法来检查数独配置是否有效?我想到的最简单的算法是(对于大小为n的棋盘)伪代码如下:for each row for each number k in 1.....

25得票6回答
Java中的数独求解程序,采用回溯和递归算法

我正在使用Java编写一个9x9网格的数独求解器。 我有以下方法: 打印网格 用给定的值初始化棋盘 检测冲突(如果相同的数字在同一行或3x3子网格中) 一个逐个放置数字的方法,这需要最多的工作。 在详细讨论该方法之前,请记住我必须使用递归来解决问题,以及回溯(请参考此处的应用程序ht...

23得票11回答
解决数独的算法

我想用 Python 编写代码来解决数独难题。你们有什么好的算法可以帮助我吗?我在网上读到过一个算法,它通过将整个方格填满所有可能的数字,然后将已知值插入相应的方格中。从已知值的行和列中删除已知值。如果你们知道比这更好的算法,请帮我编写一个。此外,我很困惑该如何从用户那里读取已知值。通过控制台...

19得票6回答
数独有效性检查算法-这段代码如何工作?

我在这里阅读了一个问题:C#中的数独算法 其中发布的解决方案之一是这段代码。public static bool IsValid(int[] values) { int flag = 0; foreach (int value in values) { ...

19得票6回答
数独难度等级评定

我正在用Javascript编写一个数独游戏,只是为了好玩。 一切都运行正常,每次都会生成一个完整的解决方案。 我的唯一问题是,这是阻止我发布项目的原因 的是我不知道如何为难度级别评分。我到处找过资料, 在论坛上发布过帖子等等。我不想自己编写算法,这不是这个项目的重点,而且,对于我这样的非数...

18得票9回答
优化数独回溯算法的方法

我希望优化我的数独求解器的回溯算法。 目前的做法是: 递归求解函数以一个数独谜题及其各种已知的值为输入。 遍历谜题中所有的空格,寻找拥有最少可能值的位置,并获得该位置的值列表。 从值列表中取出一个值放入该位置,然后递归求解,直到整个谜题被填满。 然而,对于某些谜题来说,这种实现仍然非...