前言:
如今我们对“c数独生成算法”大致比较关切,小伙伴们都需要了解一些“c数独生成算法”的相关资讯。那么小编同时在网上网罗了一些关于“c数独生成算法””的相关知识,希望看官们能喜欢,大家快快来学习一下吧!第一节 什么是区块
〔一〕区块(Locked Candidates)是指某个数字可能出现在两个或者多个单元格中,所有的这些单元格放在一起,就称作区块。
〔二〕区块,全称区块组,指的是一个结构,也特指以此结构为核心思想的技巧。对于某一个数字,在同一宫行或宫列内的一组单元格内只有一个位置是对的,这组单元格称为一个区块(或区块组)
〔三〕区块的分类
1、宫内区块
以上这些都是宫内区块,由于这个结构产生于宫之中,所以称为宫区块。
只要在一个宫内的一行或一列的中,不论是三个格,还是两个格;也不论是否紧邻着,还是间隔一个格子,都是区块。
2、行区块
以上这些都是行内区块,由于这个结构产生于行之中,所以称为行区块。
只要在一行且同时在一个宫中,不论是三个格,还是两个格;也不论是否紧邻着,还是间隔一个格子,都是区块。
3、列区块
以上这些都是列内区块,由于这个结构产生于列之中,所以称为列区块。
只要在一列且同时在一个宫中,不论是三个格,还是两个格;也不论是否紧邻着,还是间隔一个格子,都是区块。
4、特别说明
(1)区块大体上只分两类,行区块和列区块
A、行区块,区块的位置在行上,就称作行区块
B、列区块,区块的位置在列上,就称作列区块
C、区块的名称是由于位置的不同来区分的,不是由于宫行列的推导方式来区分的。
(2)区块的产生有多种方法
A、可以通过宫的排除法产生,也可以通过宫的余数法产生
B、可以通过行或列的排除法产生,也可以通过行或列的余数法产生
C、可以通过标记候选数的方式产生
(3)通常用到的有效区块都是在某个宫中,因此行列区块也叫宫行区块、宫列区块。
〔四〕区块的排除区域
1、(宫)行区块的排除区域
(宫)行区块的排除区域包括两个部分:区块所在的宫和区块所在的行。
2、(宫)列区块的排除区域
(宫)列区块的排除区域包括两个部分:区块所在的宫和区块所在的列。
〔四〕区块的作用
1、在直观法中,区块的主要作用是排除空格
2、在候选数法中,区块的主要作用是删数,就是删除候选数
第二节 如何发现区块
〔一〕通过排除法发现区块
利用单元排除法在某行、某列或某宫形成一个区块
〔二〕通过余数法发现区块
利用单元余数法在某行、某列或某宫形成一个区块
〔三〕通过标记候选数发现区块
利用标记候选数法在某行、某列或某宫形成一个区块
第三节 区块的表示方法
〔一〕行区块的表示方法
观察第七宫B7,存在数字4的区块,
此区块就标记为R8C12(4)
其中:
“R8”代表第八行
“C12”代表第一列和第二列
“(4)”代表数字4
根据数字4的宫区块,可以删除第八行的两格候选数4,
将这个推理过程记作:
R8C12(4)=>R8C46 <>4
其中
“=>”是推出符号,表示前者可以推出后面的结论
“ <>”是不等号,表示不能填入的数字。
“R8C46”代表第八行中第四列和第六列两个单元格
〔二〕列区块的表示方法
观察第九宫B9,存在数字5的区块,
此区块就标记为R78C8(5)
其中:
“R78”代表第七行和第八行
“C8”代表第八列
“(5)”代表数字4
根据数字5的宫区块,可以删除第八列的两格候选数5,
将这个推理过程记作:
R78C8(5)=>R23C8 <>4
其中
“R23C8”代表第八列中第二行和第三行两个单元格
标签: #c数独生成算法 #数独的生成算法和解题算法