查数独游戏规则

求数独的编程思想如题:小弟正在学习c#,想做个数独,只求编程思想数独游戏规则-数独游戏在9x9的方格内进行,分为3x3的小方格,被称为“区”:区-数独游戏首先从已经填入数... 求数独的编程思想如题:小弟正在学习c#,想做个数独,只求编程思想 数独游戏规则 -数独游戏在9x9的方格内进行,分为3x3的小方格,被称为“区”: 区 -数独游戏首先从已经填入数字的格子开始: -数独游戏的目的是根据下列规则,用1至9之间的数字填满空格,一个格子只能填入一个数字: 1.每个数字在每一行只能出现一次: 2.每个数字在每一列只能出现一次: 3.每个数字在每一区只能出现一次: -总结这些规则,即每个数字在每一行、每一列和每一区只能出现一 展开
 我来答
贾元牧慈
2020-06-29 · TA获得超过3665个赞
知道大有可为答主
回答量:3114
采纳率:26%
帮助的人:242万
展开全部
我用EXCEL的宏编过,但是算法不太好,简单得可以作出,难得的就不行了 想法如下: 建立一个X(a,b,c,d)的列阵,4个数为(1,2,3)中的一个 a,b表示大的33阵(就是你所说的"区")的位置 c,d表示在特定33阵(特定"区")中的位置 那么每个特定的X表示特定的空格位置 每个X初始都=123456789 X的值表示这个空格可能取的数 然后已经给出的条件的X改为条件给出的数 现在我虽然不知道剩下的空格是哪个数,但是我可以知道特定的空格中不可以是哪个数(按规则) step1 所以分别检查每个空格 将不可能出现的数字从123456789中删去(比如这个区已经存在1,4,5那么我们把区中其他的空格的1,4,5去掉,变成2,3,6,7,8,9) 这样X的位数就越来越小了 当X的长度等于1的时候那么这个空格就是唯一的了 step2 检查每一个区中的9个数中含有几个1,如果只有1个,那么含有1的哪个空格就是1了,(1-9,依次检验),(行或者列也要分别检验) step3 检查是不是每个数都小于10,如果不是 检查经过step1和step2后,各个数字有没有变化,如果有,那么重复step1,step2.没有的话(说明按刚刚的步骤只能解到这样了)结束循环 我编的只是为了方便帮我解题,太难的做不出,但是用的话可以解出很多数了,人在看一下,很快就解出了 如果一定要编到底的话,我也想过 然后在X中寻找1个2位数,假定2位数中的一个是正确的,然后在按刚刚的步骤,如果结果有矛盾则就是另一个数 希望对你有帮助
称马你0M
高粉答主

2019-09-19 · 繁杂信息太多,你要学会辨别
知道答主
回答量:22.3万
采纳率:8%
帮助的人:1.1亿
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式