高级
着色法:同色冲突与双色包围能排除什么?
通过自制示例区分简单着色的同色冲突与双色包围,结合颜色、符号和线条找出排除依据。
- 作者
- DailySudoku编辑团队(Object)
- 发布日期
- 2026-09-23
- 更新日期
- 2026-09-23
两种颜色并不表示答案已经确定
着色法通过简单着色(Simple Coloring),串联某个候选数的真假关系。选定一个数字,如果它在一行、一列或一宫中恰好只剩两个位置,就用实线连接这两个单元格。两者恰好有一个为真,所以在两端分别做不同的标记。
本文使用强调色的**●和辅助色的○**。即使不区分颜色,也能通过符号和坐标理解同样的逻辑。在同一个连接网络中,如果所有●都为真,所有○就都为假,反之亦然。目前还不确定哪一组为真。
适用条件——一个数字,相连的强链
- 记全候选数,只选定一个数字。
- 找出这个数字只有两个位置的行、列或宫,用实线连接。这就是强链。
- 沿着实线交替标记●和○。遇到分支时,同一个单元格的符号仍保持不变。
- 利用同一个连接网络中的两种符号,寻找下面介绍的冲突或包围。
互不相连的两组可以各自交换●和○。不要混用不同组中的●和○进行排除。
示例①——两种颜色形成的双色包围
目标数字是2。沿着**r5c8(●)—r6c9(○)—r9c9(●)—r9c3(○)**看下去。第6宫、第9列、第9行分别都只有两个位置可以填2,所以用实线连接。r5c8与r7c8(○)之间也有第8列的强链。
未着色的r5c3通过第5行看见r5c8(●),通过第3列看见r9c3(○)。无论哪种符号为真,两者必有一个是2,因此可以从r5c3中排除2。候选数从1、2、4缩减为1、4。连接网络外的候选数同时看见两种符号的情况,称为双色包围。
示例②——相同颜色之间的同色冲突
这次的目标数字是8。沿实线交替着色后,r3c9(●)与r4c9(●)同处第9列。如果●这一组为真,第9列就会出现两个8,产生矛盾。因此,这个连接网络中所有●对应的8都为假。这就是同色冲突。
要排除8的单元格共有七个:r2c2、r3c9、r4c9、r5c6、r6c1、r6c7、r8c8。它们依次只剩7、2、7、7、7、2、2。不只是从发生冲突的两个单元格中排除,而是从同一个连接网络中所有同符号的单元格中排除,因为它们的真假是一致的。
不适用的情况与常见误解
- 同一行或列中有三个目标候选位置。 不能随意选两个用实线连接。所选的两个可能都为假,而第三个为真。
- 属于不同的连接网络,只是颜色相同。 符号名称相同,并不代表真假也相同。
- 判断双色包围时,只看见一种符号。 另一组仍可能为真,因此不能排除。
- 判断同色冲突时,连其他数字也一起排除。 这个论证只适用于选定的一个数字。
- 以为○表示假。 空心圆只是区分两组的符号。本文的同色冲突示例中,反而是●这一组为假。
练习题
请看目标数字5。r2c7中可以排除什么?这是同色冲突,还是双色包围?
查看答案
通过双色包围排除5。r2c2(●)—r8c2(○)—r9c3(●)—r9c7(○)分别由第2列、第7宫、第9行的强链连接。r2c7通过第2行看见r2c2(●),通过第7列看见r9c7(○)。因此,可以从候选数1、4、5、7中排除5,留下1、4、7。
接着阅读
预备知识是数独候选数怎么记和解数独一定要假设或猜测吗?。接着请阅读BUG+1:为什么需要解的唯一性这一前提?。
示例盘面由sudoku-core生成器与逻辑求解器寻找得到,并非复制外部谜题。种子、难度和首次出现目标技巧的步骤编号已记录在原稿元数据中。技巧定义参考:HoDoKu着色法。