数独出题与破解器

关于数独,我们应该并不陌生,这是个比较老牌的数字游戏,非常锻炼人的思维能力。
很多电影中描述主角牛逼,就是在空闲的时候,拿着报纸或者数独题库狂刷,以展现其高智商。
从此奠定了数独在数字游戏领域的大哥地位。
数独的规则也简单,简而言之:
	1、所需数字:阿拉伯数字1-9,顺着数,倒着数,数到空空都填满,OK,过关了。
	2、游戏地图:九个九宫格,横排不重复,竖排不重复,每个小九宫格也不重复。
难易之分:根据一个空格有几个可填项,可以将数独分阶,只有一个可填项的,就是一阶,依次类推。
曾经我也刷过不下数百个题,于是想写一个小程序,根据给出的题型,迅速、自动、正确填出剩余所有空。
但是苦于不想自己手动录入题库,首先,我写了一个自动出题的程序,存储方式为长度为81的字符串。
原理类似暴力破解,用递归的方式分支填值,本以为这个题库不会很大。
后来实现跑了一下,纯文本,已经达到了300M,还没结束的意思。果断暂停了。
上网搜了一下,这个题库虽然是有限的,但这个有限数字却大的吓人。
6,670,903,752,021,072,936,960。
只能说,跑程序之前,最好还是先验算一下极限。免得到时宕机。
另外,出题库这段程序,稍加改动,就可以实现自动填值,就是大家梦寐以求的一键得结果。
有兴趣的朋友可以联系我,有源码。
QQ:173726284
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值