前言:
今天朋友们对“r1c1算法”大概比较关注,大家都需要剖析一些“r1c1算法”的相关知识。那么小编在网摘上搜集了一些对于“r1c1算法””的相关资讯,希望朋友们能喜欢,小伙伴们快快来了解一下吧!一、同数排除法基本原理
〔一〕排除法也叫摒除法,英文名是Hidden Single/Pinned Digit。
〔二〕基本原理
1、数独规则:每一行、每一列以及每一个宫内数字均不重复。
2、故可知:某数字在每一行、每一列以及每一个宫内
(1)都要出现一次,1到9一个都不能缺少。
(2)同一个数字只能出现一次,不允许重复
3、因此,如果某格内出现了一个数字,
(1)与该格同行、同列同宫的位置不能再出现相同的数字。
(2)在某宫、某行、某列中,排除了一个或者多个单元格后,剩下的格就是可能填入的位置。
4、总结:当某数字在某一行、某一列或者某一个宫内,1个或多单元格都不能填入时,那么只能填入剩下的1个或者多个单元格。
〔三〕同数排除法的应用
(1)排除不能填入某个数字的空格:一个数字的排除区域是20个相关单元格。
(2)确定可以填入某个数字的区域。排除法不能直接出数,但是,除去不能填入的区域后,剩下的区域就是可以填入的空格了。
(3)八格排除法:如果在同一区域中排除了8个位置,那么,剩下的唯一位置就是应该填入的位置,这样就能出数了。
二、宫排除法
〔一〕宫排除法:英文名是Hidden Single in Block。根据宫外填入的数字,排除不能在宫内填入的位置,称为宫排除,也称宫摒除法。
〔二〕宫排除法的基本逻辑
1、宫(Block):标准数独游戏棋盘中,用黑粗线分隔开的3x3个单元格的区域被称为宫。
2、宫排除法,也就是宫内八格排除法。
3、一个宫有九个单元格,而且只有九个单元格。
4、某个数字,在宫中最多只有九种可能填入的位置。
5、比如排除8个不可能出现的位置,剩下的1个就是必填的位置。
〔三〕宫内排除法的运用
1、观察的焦点是宫。
2、在数字的选择上,可以优先选择在盘面上出现最多的数字。
3、在宫内排除法的运用中,往往使用数字排除线,排除线的形状是十字线。
三、行列宫格的表示法
〔一〕行的表示法。行的英文是Row,选择第一个字母R作为行的标记。记每一行为“RX”,比如第1行记作“R1”。
〔二〕列的表示法。列的英文是Column,选择第一个字母C作为行的标记。记每一列为“CX”,比如第1列记作“C1”。
〔三〕宫的表示法。宫的英文是Block,选择第一个字母B作为行的标记。记每一宫为“BX”,比如第1宫记作“B1”。
〔四〕格的表示法。格的坐标是通过行和列交点来表示,表示方法就是由代表行的字母与代表列的数字组合而成。用“RXCY”表示每一个单元格,比如第2行第2列单元格记作“R2C2”。
〔五〕出数和排除数的表示方法
A、在表示某个单元格的出数的时候,使用“=”表示出数。
比如r1c1=1表示r1c1填入数字1,也就是说,在第一行与第一列相交的单元格中填入数字1。
B、在表示某个单元格的不能填某数的时候,我们分别使用“<>”表示排除数。
比如r1c1<>1表示r1c1不能填入数字1,也就是说,在第一行与第一列相交的单元格中不能填入数字1。
四、应用宫内排除法的实例
实例1
〔1〕选择数字和宫
这里利用数字5对第八宫B8进行排除。
〔2〕画排除线
盘面中一共有三个数字5,每一个数字对针对第八宫画排除线
〔3〕寻找可以填入数字的单元格
观察第八宫B8,唯一可以填入数字的空格是R8C6,也就是第八行与第六列相交的单元格。
〔4〕填入数字
R8C6=5
五、行列排除法
〔一〕行列排除法(Hidden Single in Line)是行排除法和列排除法的统称。
(1)在数独中行和列其实是一样的,只是转换个角度的问题,所以行列通常合并到一起讨论。
(2)有时候行列排除法也叫做线性排除,因为它们的排除效果都是“一整条线”形式的排除。
〔二〕行列排除法的基本逻辑
(1)行(Row):数独盘面中水平方向9个单元格组成的区域总称,称为行(Row)
(2)列(Column):数独盘面中垂直方向9个单元格组成的区域总称,每一纵列称为列(Column)
(3)行列排除法,也就是宫内八格排除法。
(3)无论是每一行还是每一列,都有九个单元格,而且只有九个单元格。
(4)某个数字,在行或列中最多只有九种可能填入的位置。
(5)比如排除8个不可能出现的位置,剩下的1个就是必填的位置。
〔三〕行列排除法的应用
(1)行列排除法与宫内排除法相比,是将焦点由宫转移到了行列。
(2)在宫内排除法的应用中,用到了单个数字的十字排除线;在行列排除法的应用中,也会用到了单个数字的十字排除线,只不过有时会用到方框。
(3)行列排除法的观察是不容易的,可以尝试找一些空格比较少的行或列来进行观察。
六、应用行排除法的实例
实例二
〔1〕选择数字和行
这里选择了数字3和第四行。
〔2〕画排除线和方框
盘面中一共有四个数字3,需要注意的是,位于第六行与第二列数字3,需要画排除方框。
〔3〕寻找可以填入数字的单元格
观察第四行R6,唯一可以填入数字的空格是R4C4,也就是第四行与第四列相交的单元格。
〔4〕填入数字
R4C4=3
七、应用列排除法的实例
实例1
(1)选择数字和列
这里选择了数字9和第三列。
(2)画排除线和方框
盘面中一共有四个数字9,需要注意的是,位于第六行与第一列数字9,需要画排除方框。
(3)寻找可以填入数字的单元格
观察第三列C3,唯一可以填入数字的空格是R8C3,也就是第八行与第三列相交的单元格。
(4)填入数字
R8C3=9
标签: #r1c1算法