zoukankan      html  css  js  c++  java
  • 数独的自动出题算法

    一般来说,生成数独题目的算法如下:

    1. 将一行或者一列随机填上1-9,生成一个数独题目
    2. 根据第一步生成的数独题目运行求解算法求解
    3. 从解出来的题目中随机挖空若干个数字(在一定的范围内,挖空的数字越多,难度越大)

    通过以上几步,就可以生成一个数独题目了,但有一点需要注意一下,

    由于题目需要一定随机性,除了第一步的填充数字外,数独求解算法也要求具有一定的随机性。即对于有多个解的数独程序,不同的时候运行得出来的解也不同。要实现这样的算法并不难,将我前面的那篇文章的算法中的GetAvaibleNumbers返回值乱序一下即可。

    整个思路其实还比较清晰,就是由于要求出题的随机性,需要用多次RandomShuffle算法而已。在实现了解题算法后,在此基础上实现出题算法也很容易,这里就不给出代码了。

  • 相关阅读:
    正则表达式口诀
    Ajax请求的四种方式
    jQuery插件 -- jQuery UI插件
    电脑操作技巧
    递归
    声纹识别环境初次搭建
    视频编码book_实战_全角度——1
    SDK等阅读笔记
    音视频bug调试
    音视频开发进阶指南(二)
  • 原文地址:https://www.cnblogs.com/TianFang/p/1358706.html
Copyright © 2011-2022 走看看