惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
J
Java Code Geeks
H
Hackread – Cybersecurity News, Data Breaches, AI and More
D
Docker
腾讯CDC
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Security Blog
Microsoft Security Blog
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
T
The Blog of Author Tim Ferriss
Vercel News
Vercel News
P
Proofpoint News Feed
雷峰网
雷峰网
博客园_首页
B
Blog RSS Feed
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
F
Fortinet All Blogs
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
S
SegmentFault 最新的问题

博客园 - cspfeng

hadoop学习之路1--centos7群集安装 wonderware historian 10安装配置 从u盘安装XP jdbc连接oracle rac服务器 再战徐州 网站投票程序 《面向对象分析与设计(uml2.0)》不懂之处 委托学习笔记[摘自msdn] 旧地重游 彼得·林奇的基金投资法则[转载] [转]项目经理必读法律法规一览表 [转]有关加薪申请资料 一周损兵又折将 [原]防火墙安装配置(日志) 再见2006,奋斗2007 防火墙安装配置(准备) 徐州项目顺利验收 悲惨的圣诞节 接近岁末,今日股市收盘大跳水
[原创]数独解答程序
cspfeng · 2010-10-24 · via 博客园 - cspfeng

  安装ubunto10.10发现上面的数独游戏题有意思,这个游戏手机上也有。发现居然玩不过我老婆,一怒之下自己写了个计算器解气。用java写的,因为时间关系只做了解题部分。非常粗糙。

      源码下载

  解题算法:

  总的思路是根据游戏规则使用排除法进行遍历。以下是程序解题步骤。

  1、初始化,将所有格子都认为可能有1,2,3,4,5,6,7,8,9。

  2、采用排除法,填写1个数字后,去掉格子所在的行,列以及所在九宫格区域中其他格子的该数字值。用这种方法填写完难题中已知的数字。

  3、搜索未知格子中可能的数字,如果是唯一的,或者不是唯一的,但在九宫格中是唯一的,则转向第二步,填写该可能数字。

  4、在此做循环,一直到解题成功或者有未知格子,且不能满足3步的条件。进入尝试阶段。

  5、建立一个堆栈,保存当前答案。查找最少可能数的第一个未知格子。使用从第一个可能数开始尝试,直到解题成功或者失败。

  6、解题失败,则从栈中取回保存的答案,继续尝试下一个可能数。

  7、一直循环到解题成功。

ps:公司使用java没办法学习一下吧!为了生存