一个java解数独的问题

玩过数独的人一定知道解数独时有一个方法叫猜测,就是猜完后验证这是正确的或者矛盾的。如果是矛盾的,那就返回去猜另一个可能的值;如果猜了后没有发现矛盾也没解出,那就继续猜。那... 玩过数独的人一定知道解数独时有一个方法叫猜测,就是猜完后验证这是正确的或者矛盾的。如果是矛盾的,那就返回去猜另一个可能的值;如果猜了后没有发现矛盾也没解出,那就继续猜。那么这个猜测的过程怎么用java写呢?或者说是怎么一个过程?谢谢了! 展开
 我来答
百度网友4625dfb
2007-04-26 · 超过17用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:45.9万
展开全部
可用递归方式来做,具体java代码我就不写了。
把格子从左上到右下排成64个,按次序每个做遍历。
思路大概是这样的:
function MakeAnswer(传入父格子)
{
取父格子下的第一个子格子作为当前格子
计算当前格子所有可取的解

while (当前格子还有可取的未尝试的解)
{
取一个这个当前格子未尝试过的解,并把这个解标记成已尝试
判断是否这个当前格子已经是最后一个格子了,若是,则表示已经得到可行的解,则这个猜测是可行的,否则继续递归 MakeAnswer(当前格子)
}
}

某个格子的尝试的解改变了之后,往下递归子格子的时候,所有子格子的可能的解都有可能会变。

写得比较抽象,不知你看懂没
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式