数独描述规范

以下将为你展示和介绍,在描述数独游戏和为他人讲解时,约定俗成的规范性内容。

坐标描述规范

我们一般习惯称每一横排为(Row)、每一竖列为(Column)、每一个小九宫格(粗线围住的部分)为(Block/Box)。

RCBN坐标体系

基本规范

第一,我们将行列的数字标号均用 1 ~ 9 代替,按照从上到下、从左到右的形式,为每一个宫标号 1 到 9。如图所示:

我们在数字前面加上字母前缀表示所在的区域。我们使用字母 Rr 表示行标号,使用字母 Cc 表示列标号,使用 Bb 表示宫标号。 Nn 表示数字标号,大小写均可,没有区别。比如:

但不允许多个标签在同时使用的时候,大小写混用。

第二,如果有多个坐标标签R(r)C(c)B(b)N(n)出现的,需要按照“RCBN”的顺序依次写出,不能交换顺序。

第三,如果有多个坐标同时描述的时候,应使用大括号 {} 将内容框起来,把中文顿号、替换为英文逗号 ,,如“r5c1r5c2r5c3”的写法为 {r5c1, r5c2, r5c3}

简写方式

第一,如果多个单元格都用到相同的区域了,比如 r5c1r5c2r5c3。我们为了简写这样的形式,将相同项合并,然后不同项依次写出来。如果简写后不需要用逗号分隔(只有一项),则可省略大括号。比如

第二,如果标签之中带有数字标号标签 N(n),我们可以将该标签后的数字用小括号 () 括起来,并省略N标签,也可以将该标签后的数字放到最开头并省略该标签。比如“第 7 行第 8 格的候选数 4”可以表述为r7c8n4r7c8(4)4r7c8。示例如下:

最后一个示例,为什么 2 和 4 可以一起写,不打逗号?因为标准数独涉及的数字只是 1 到 9 啊!根本不会超过 10,所以不需要打逗号也可以区分开数字。

当需要描述结论(某单元格填什么数字,或某单元格的某种候选数不可能是正确的)的时候,我们使用 = 表示等于(填什么数),用 != 或者 <> 表示不等于(填什么数是不可能的)。比如

当然,你用不等号“≠”也可以表示不等于,但一般我们习惯于使用 !=<>,原因很简单:打字懒得去找特殊符号(滑稽)

推导的每一个步骤,连接起来的话可以使用推出符号 => 表示,随后会介绍到如何书写。

另外,结论也是可以简写的,我们可以把结论拿到最开头,用 ! 数字 表示不等于某数,用数字表示等于某数,比如