数独可能不止一个解,本程序试图找出全部的解,测试发现所谓的最难数独运行时间明显非常长

所谓最难的就是第一个范例,得出唯一解倒是不满,只是程序要遍历全部可能性,导致耗费时间冗长。

范例二是多解数独

范例二和范例三耗费时间极短

sudoku = [[8, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 3, 6, 0, 0, 0, 0, 0],
    [0, 7, 0, 0, 9, 0, 2, 0, 0],
    [0, 5, 0, 0, 0, 7, 0, 0, 0],
    [0, 0, 0, 0, 4, 5, 7, 0, 0],
    [0, 0, 0, 1, 0, 0, 0, 3, 0],
    [0, 0, 1, 0, 0, 0, 0, 6, 8],
    [0, 0, 8, 5, 0, 0, 0, 1, 0],
    [0, 9, 0, 0, 0, 0, 4, 0, 0]]sudoku = [[0, 0, 0, 2, 0, 0, 1, 0, 0],
    [8, 0, 0, 0, 0, 6, 0, 3, 0],
    [0, 0, 0, 0, 0, 1, 7, 5, 0],
    [0, 0, 0, 5, 0, 0, 4, 0, 0],
    [0, 7, 5, 0, 0, 0, 6, 2, 0],
    [0, 0, 2, 0, 0, 3, 0, 0, 0],
    [0, 5, 4, 7, 0, 0, 0, 0, 0],
    [0, 2, 0, 6, 0, 0, 0, 0, 9],
    [0, 0, 6, 0, 0, 9, 0, 0, 0]]sudoku = [[0, 6, 1, 0, 3, 0, 0, 2, 0],
    [0, 5, 0, 0, 0, 8, 1, 0, 7],
    [0, 0, 0, 0, 0, 7, 0, 3, 4],
    [0, 0, 9, 0, 0, 6, 0, 7, 8],
    [0, 0, 3, 2, 0, 9, 5, 0, 0],
    [5, 7, 0, 3, 0, 0, 9, 0, 0],
    [1, 9, 0, 7, 0, 0, 0, 0, 0],
    [8, 0, 2, 4, 0, 0, 0, 6, 0],
    [0, 4, 0, 0, 1, 0, 2, 5, 0]]def show():for i in range(len(sudoku)):for j in range(len(sudoku[i])):print(sudoku[i][j],end=" ")print("")def check(i,j,value):for item in sudoku[i]:if item == value:return False
    for item in sudoku:if item[j] == value:return False
    row = i//3
    col = j//3
    for r in range(row*3,row*3+3):for c in range(col*3,col*3+3):if sudoku[r][c] == value:return False
    return True

def shudu():for i in range(9):for j in range(9):if i == 8 and j == 8 and sudoku[i][j] > 0:show()print("=================")if sudoku[i][j] == 0:for value in range(1, 10):if check(i, j, value):sudoku[i][j] = valueif not shudu():sudoku[i][j] = 0
                return False
shudu()

python求数独全解相关推荐

  1. python基础系列教程——python面向对象编程全解

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python面向对象编程全解. 面向对象技术简介 一个类占有一个独立的空间,类中的属性叫做类变量,类中的函数,叫做类的方法. 类(Class) ...

  2. python 小学生教材全解_小学生教材全解

    [秘密]2020年十大小学助教!第一名是意料之中的! 本文不废话,直接进入正题!公布名单! 2020年十大小学助教 NO.1 尖刀侠<小学英语语法学霸狂记>(英语) NO.2 薛金星< ...

  3. python 小学生教材全解_小学教材全解人教版

    <小学教材全解>丛书自2006年问世以来,备受广大师生的呵护与厚爱.历经多年的精心打造,日趋成熟,赢得了国内教育专家和老师.家长.同学们的认可,现在已经成为大家非常喜欢的学习用书. ¥32 ...

  4. python 小学生教材全解_小学六年级教材全解

    <小学教材全解>丛书自2006年问世以来,备受广大师生的呵护与厚爱.历经多年的精心打造,日趋成熟,赢得了全国教育专家和老师.家长.同学的认可和好评,现在已经成为大家非常喜爱的学习用书. ¥ ...

  5. python 小学生教材全解_拼多多小学教材全解六年级上册

    原价: 32.80元 券后价: 31.80元 优惠券: 1.00元 剩余:500 [推荐理由]:2020新版六年级上下册语文数学教材全解人教版部编小学生解读教案 原价: 19.90元 券后价: 16. ...

  6. Python基础知识全解(含容器数据类型、Numpy)

    文章目录 一.初始Python Python语言概述 二.Python语言基础 基本数据类型 变量 运算符与表达式 输入与输出 内置函数 常用模块 三.Python容器数据类型 列表 元组 字典 集合 ...

  7. Python求数独的补充

    这是对上一篇的一个补充(Python来处理数独游戏(含世界最难数独示例)),看起来更加简单,思路都是一样的,在填入数字的时候需要判断行.列.每个小九宫格都不能有这个即将填入的数,这样一直填写,如果发现 ...

  8. leetcode刷题随笔数独是否合法利用dfs求数独的解

    最近看了一两篇关于leetcode刷题的总结,大体意思就是尽量不要使用ide(lll¬ω¬)然后默写代码保证bug free,这tm就让人很蒙蔽了,lz一直是用visual studio ,有时候程序 ...

  9. 递归回溯法求数独全部解

    项目介绍 QT5做的数独求解程序,可以判断数独解的个数(如果非唯一解). 运行截图 源码说明 使用MSVC + QT5平台,故* .cpp和* .h文件均采用UTF8 + BOM编码.如果切换到Min ...

最新文章

  1. mysql 报错注入 读文件_SQL注入-读写文件
  2. 623. 在二叉树中增加一行
  3. 做为一名java高级程序员,需要了解哪些岗位?
  4. 在maven项目中打开jsp_零基础在intellij中打开一个项目复制粘贴内容即可运行的java拼图...
  5. C/C++ OpenCV之Scharr边缘检测
  6. 人脸识别算法二:Fisherface(LDA)
  7. etl 不能转换成date_java怎么将date类型转换成datetime类型
  8. numpy—np.eye、np.diag与np.tile
  9. Linux如何从零开始搭建rsync服务器(centOS6)
  10. python函数装饰器有什么作用请列举说明_你必须学写 Python 装饰器的五个理由
  11. 使用Carbide进行调试时免除重新启动模拟器的一种方法(转)
  12. 使用信息架构视图访问数据库元数据
  13. Html - Json转excel文件
  14. 计算机二级2018VB题库百度云,计算机二级vb题库2017
  15. LINNAEUS:生物医学文献的物种名称识别系统
  16. SPSS实现数据归一化
  17. C#图像压缩相关方法总结
  18. HTML将div层级升到最高,CSS层级嵌套关系详解
  19. 蔡康永般“好好说话”?百度发起猛攻 推249元小度音箱
  20. go程序cpu过高问题排查方法

热门文章

  1. ubuntu中显示实时网速的方法
  2. PatternLayout格式解读
  3. 《改进SIR 模型在社交网络信息传播中的应用》仿真实现
  4. IOS App的生命周期
  5. ac86u原厂固件去广告_释放更多功能,华硕 AC86U 刷官改固件教程
  6. 餐饮管理系统哪个好用?
  7. matlab特征提取之欧拉数
  8. Python 赵云被动免伤计算
  9. 一种解决退出远程桌面后,电脑自动睡眠的方法
  10. 51单片机学习笔记——STC15W201S系列