深度搜索解数独

深度搜索解数独,第1张

概述深度搜索解数

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

@H_403_4@def guess(ku,i,v,b = 1): affects = [] for j in range(b,81): if (i / 9 == j / 9 \ or i % 9 == j % 9 \ or (i / 9 / 3 * 3 == j / 9 / 3 * 3 \ and i % 9 / 3 * 3 == j % 9 / 3 * 3)) \ and v in ku[j]: ku[j].remove(v) affects.append(j) ku[i].clear() ku[i].add(v) return affectsdef bfs(ku,i): clone = ku[i].copy() for v in clone: affects = guess(ku,i + 1) if all([len(c) == 1 for c in ku]) or all(ku) and i < 81 and bfs(ku,i + 1): return True else: for j in affects: ku[j].add(v) ku[i] = cloneku = [set(range(1,10)) for i in range(81)]s = '040300000010608000050000007065910872090070003002084601906735018503400029174890365'for i in range(81): v = int(s[i]) if 1 <= v <= 9: guess(ku,v)for i in range(81): if len(ku[i]) > 1: bfs(ku,i) breakprint ''.join(str(next(iter(c)) if len(c) == 1 else 0) for c in ku)# => 249357186317628954658149237465913872891276543732584691926735418583461729174892365

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的深度搜索解数独全部内容,希望文章能够帮你解决深度搜索解数独所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1199206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存