龙空技术网

003标准数独技巧之同数区块排除法〔上〕

麦或郎 91

前言:

如今我们对“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数独生成算法 #数独的生成算法和解题算法