1. 首页 > 手游资讯

数独清SodoCool小灰的数独迷你课堂第四讲——区块和示意图的画法 数独qt

作者:admin 更新时间:2024-11-27
摘要:数独清SodoCool小灰的数独迷你课堂第四讲——区块和示意图的画法如下:前言:(干货来了,这一讲我花的时间还是挺多的)俗话说区块找的好,人人是大佬。(我说的)...,数独清SodoCool小灰的数独迷你课堂第四讲——区块和示意图的画法 数独qt

 

数独清SodoCool小灰的数独迷你课堂第四讲——区块和示意图的画法如下:

前言:(干货来了,这一讲我花的时间还是挺多的)俗话说区块找的好,人人是大佬。(我说的)如果了解了区块的概念,配合观察法熟练使用。那么其实一星、二星难度应该没问题了。虽然可能部分需要用到数对/数组的技巧。(后面会介绍)但是其实数对也是可以用观察法做的,只是新手可能不容易看出来。示意图是后加上的。。。因为我看之前论坛的一个解题画的示意图严格来说是错的,道理没问题但是我觉得不严谨。

区块:在某个区域下,某个数字的所有填数位置仅处于若干单元格内的情况。(其实就是某数字可能出现的位置的合集,不过它必须是一个类似充分条件的存在。就是说该数字一定出现在该区块内,而不是可能存在)

分类:简单来说分为宫区块和行列区块(还有组合),衍生出排除法就是宫区块对行列排除法和行列区块对宫排除法。(我是懒得分的。。。因为我用起来就直接用了管他叫什么呢,习题我偷个懒,一块出吧)

举个宫区块对行列排除法的例子。(我尽量直接编,凑合看吧)

观察b6,3只能出现在1.2两格,此时构成3的区块。再看c1,可以看到只有4.6两格可能填3,由于3在b6形成的区块正好在r4,所以3不能出现在r4c1.(违反了数独规则)因此,3可以直接填在r6c1.

再来个行列区块对宫排除法。

观察r7,1只能出现在4.6两格,形成1的区块。(这个例子说明,区块并不需要相连在一起)因此可以排除r9c5出现1的可能。所以r1c5直接填1.(说明一下,我的例子只是为了便于理解,至于这道题成立与否不是重点,我就随便画画)

要不再介绍一个区块+唯余法?

观察b7,1.7两格形成9的区块。因此r6c1不能填9,再看c1和r6,1234567都不能填,所以r6c1直接填8.

插一句我对于区块的描述严格意义上不规范,正规的描述是使用D\S描述(D\S Description)来描述它。先写出产生结构的区域,然后写出能够排除到的区域,并用反斜杠\作为分隔。比如第1个示例的区块写法为b6\c1而示例2的区块的写法为r7\b8。不过为了比较通俗的说明我就白话解释了。

再升级难度,介绍一个组合区块/级联区块。(有个技巧叫矩形排除法,其实就是包含在这里面)

首先,先来一个标准的所谓的矩形排除法。

(容我辩解一下,正常我画图不至于这么磕碜。。。不过这不是重点,我就大概示意一下)

观察r3,因为b3有1,所以r3c1,r3c5形成一个1的区块。观察r4,因为b6有1,所以r4c1,r4c5形成一个1的区块。那么问题来了,这两个区块可以合并吗?答案是可以的。推理如下(简单说一下),r3c1,r3c5形成的区块表明1一定出现在r3c1,r3c5其中一个。r4c1,r4c5形成的区块表明1一定出现在r4c1,r4c5其中一个。这两个区块恰巧在同列(并不是,我特意故意编的),因为1出现的情况一定是错开的,即在r3c1出现,那另一个1一定出现在r4c5。(不同列)因此,r3c5,r4c5中间必然出现1个1.所以,r3c5,r4c5也构成一个1的区块。

r3c5,r4c5的区块作用于b8,使r7c5不能出现1,所以r9c6直接填1。

再来说说组合区块/级联区块。道理都一样,就是并不是一定要构成这种相连形成的矩形。

下面我再举个栗子。(栗子虽小压千斤呀。。。顺便糖炒栗子不错)

简单说下,b2,b5一共形成了两个1的区块。(红色框)观察橙色部分即c5c6.其实两个区块按照上一个例子的说明,也可以组合为c5c6上的两个区块。由于两者作用于b8,此时在b8形成了一个新的区块。r7c4,r8c4形成了一个1的区块。所以结合唯余法不难看出r8c6直接填9.(有了前面的介绍,我应该不用详细说明了吧)

其实组合区块/级联区块的推理逻辑跟一般的区块有一定区别。不过,它主要是为了降低行列区块和行列排除的观察难度。因为它利用了宫区块的观察角度来代替了行列区块(比如这里的列区块,我们使用了两个宫区块代替掉了)。可能你会认为两个宫区块个数比一个列区块多,这不是更难找?不。因为这种区块结构的观察利用到了宫内的区块,而宫区块最终依赖于宫的排除,宫排除是容易聚焦的,所以宫内的结构,区块也好,排除也好,都比行列性的结构要好看很多,甚至有时候,观察到三四个宫排除或宫区块的时间也不一定能看到一个行列排除或行列区块。所以,你可以尝试使用它来代替。(虽然新手一开始有可能都观察不到,慢慢来吧)

至于为什么级联区块结构能够代替掉行列区块或行列排除,这里就暂时先不给出证明了。(不是在挖坑,但后面提不提就不一定了)

习题我放在后面,这一讲习题均是区块的。

先来说一下我认为错误的示意图(并不是杠,就是正好可以当例子介绍)。

无意冒犯,知道你的理解没问题。就是简单示意一下。但是,该说还是要说的。

正好讲到区块了,其实道理就是区块排除法。第二列候选数1仅在b7出现,因此可以排除b7其他格的候选数1.所以r9c3直接填3.

我为什么觉得图有问题呢?一般这种标记的图示用于观察法,用到候选数标记一般用链连接表示或候选数高亮表示。(不绝对,只是我个人习惯。当然只是简单示意,道理大家懂就可以)最重要的是,这种标记的含义是因为b1b4的作用而使b7的候选数1消去。但是候选数1消去的根本原因是b7内形成1的区块。

下面我画一个很乱的示意图。乱是因为我这里现在讲解进度只是观察法,并不涉及候选数的概念。所以我顺便提前简单介绍一下如何用直观法做数对排除。

在没有候选数的前提下,就是纯观察。观察r2和c1,均有6.7,此时可以看做是一个数对。因为两者的作用(排除),在b1形成了一个6.7数对区块。此时观察c2,在b8中1的作用下和6.7数对区块的作用下,此时r7c2,r9c2构成1的区块。因为1的区块作用,r9c3直接填3.

需要说明一下这里我说的数对区块的概念属于我个人原创。(至少其他地方我没见过这个说法,我知道有区块数组*** Subset With Locked Candidates的概念,不过两者情况是不一样的,这里不去说明)一方面这里我还没介绍到数对,所以使用区块的概念去解释。另一方面,虽然数对的概念与区块确实有区别,但在这种情况下,我认为用区块的概念也可以说得通。不过,可不要跟别人说什么数对区块。。。这个不严谨,也没有这个概念,读者能理解、会使用是最重要的。后面我有可能依然会用我的这个概念,本意是方便说明。我个人并不会特别较真某方法叫什么名,因为理解了链的概念的话,其实本质上很多技巧都完全可以用链来解释。(这也是我可能不会过多介绍一些技巧的变形的原因)

虽然我这个操作可能有点多管闲事。。。各有各的习惯。

习题1:

利用区块的思想(就是区块排除法啦)在b5填入9.

习题2:

在b6中填入7.

习题3:

请指出符合组合区块/级联区块的4个格。

习题4(挑战题):我之前简单提到了数对的使用,实际那个例子就是据说燃灯过不去的3-1。我其实已经把这关最难的地方都已经告诉你们了。(数对区块的使用)现在试试看?

分几个难度,根据自己情况选择

(1)开辅助做完3-1.

(2)仅用观察法把该题中9个8全部填上。

(3)不开辅助,借用右侧小键盘,候选数手动简单标记完成3-1.

(4)不开辅助,不用右侧小键盘(即标记),全靠观察法(排除法、唯余法、算上上面的那个数对),挑战3-1.(欢迎挑战,时间可以忽略,基本上对于新手属于观察法做题的极限挑战。如果完成时间很短,也可以下方回复时间嘚瑟一下)

第四讲就酱紫。另外,以上内容均是不开辅助,不用候选数的情况。方法本身是通用的,但是有候选数时,观察方法用一点区别,影响不大,后面我讲到候选数时,会考虑回顾一下前面。(接着挖坑)

习题答案均在下方回复。

附上总集篇链接。

以上就是数独清SodoCool小灰的数独迷你课堂第四讲——区块和示意图的画法相关内容。