矩形对角线法.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
矩形对角线法 (X-wing) 矩形对角线法是比较高级的谜题解法,应用的机会比较少,但对于有些复杂的谜题也可以有效地删减候选数。 先观察下图 在行B和行G中,数字7都正好出现两次,且都位于第2列和第7列上;也就是说,在行B和行G中,数字7不是填入第2列,就是填入第7列。 而如果在行B中,[B2]=7,则对于行G,[G2]就不能是7,这是因为[G2]和[B2]在同一列上,这样[G7]就一定是7。 反之,如果在行B中,[B7]=7,则对于行G,[G7]就不能是7,7只能在[G2]。 简单地说,只可能有两种情况:[B2]=7且[G7]=7;或者[B7]=7且[G2]=7。 但无论是哪种情况,第2列和第7列中都肯定会出现数字7,所以这两列中其他的单元格中就不可能再有7。这样,就可以把7从其他的单元格的候选数中删除了,所以第2列中的[A2]以及第7列中的[C7],[D7]和[E7]的候选数中将不会再有7。 总结一下,如果一个数字正好出现且只出现在某两行的相同的两列上,则这个数字就可以从这两列上其他的单元格的候选数中删除。 当然,同样的情形也会出现在列中,也就是说,如果一个数字正好出现且只出现在某两列的相同的两行上,则这个数字就可以从这两行上的其他单元格的候选数中删除。例如: 可以看到,在第1列和第7列上,数字9出现且只出现在行C和行G上,也就是说,在第1列中,要么[C1]=9,要么[G1]=9;而对于第7列,要么[C7]=9,要么[G7]=9。而对于这两列只有两种情况,[C1]=9且[G7]=9;或者[C7]=9且[G1]=9。无论是上述哪种情况,行C和行G上都会有数字9出现,则这两行上其他的单元格中不能再有9。所以行C上的[C4]和[C5]以及行G上的[G2]和[G5]候选数中的9将被删除。 矩形对角线法不可能出现在区块中。 XY形态匹配法(XY-wing) XY形态匹配法虽然是一个高级的数独技巧,但是应用的机会却还挺多的。先看看XY形态究竟是怎样的: 上图所示是四个相邻的(也可不相邻)区块。XY,XZ和YZ分别表示只有两个候选数的单元格,但它们的候选数部分重叠。可以看到,不管XY最后取什么值,星号所示的位置不可能是Z值。这是因为: 如果XY取X值,则与其同行的XZ只能取Z值,这样星号所示单元格就不能为Z值。 如果XY取Y值,则与其同列的YZ只能取Z值,而星号所示的单元格同样不能是Z值。 于是,就可以把Z值从星号所示的单元格中去除。下面是一个实例: 上图中,单元格[F3]是XY,[F6]是XZ,[I3]是YZ,这三个单元格分别位于不同的区块中。其中X是3,Y是9,Z是5。根据我们上面的分析,在单元格[I6]中的候选数5将被删除。 XY形态的第二种表现方式如下: 这时,XY和YZ同在一个区块但不同行中,而XZ和XY在同一行,但在不同区块中。同样,所有打星号的单元格中不能是Z值。这是因为: 如果XY=X,则XZ=Z。那么XZ所在的行和区块中就不能再出现Z; 如果XY=Y,则YZ=Z。那么YZ所在的行和区块中就不能再出现Z。 这种情况比第一种XY形态更为常见,看下面这个实例: 在上图中,单元格[D7]是XY,[D2]是XZ,[E8]是YZ,XY和YZ在同一区块中,而XZ在横向的另一区块中。其中X=4,Y=9,Z=7。根据上面的分析,则[E2]和[D8]中的候选数7将被删除。 当然还会出现第二种XY形态的变形,即XY和YZ在同一区块但不同列中,而XY和XZ在同一列的不同区块中: 分析方法与之前一样,结果是打星号的单元格中不能出现候选数Z。例: 在上图中,单元格[I8]是XY,[B8]是XZ,[G9]是YZ,XY和YZ在同一区块中,而XZ在纵向的另一区块中。其中X=3,Y=2,Z=6。根据上面的分析,则[A9],[B9],[C9]和[H8]中的候选数7将被删除。 下面是其他的一些应用XY形态匹配法的例子: XYZ形态匹配法(XYZ-wing) XYZ形态匹配法很象XY形态匹配法,但不同的是,这次有一个单元格包含3个候选数。典型的XYZ形态如下: 其中,XYZ表示该单元格有三个候选数,它与YZ在同一区块但不同列中,而与XZ在同一列但不同区块中。如果满足这样的条件,则星号所示的单元格中一定不能包含候选数Z。这是因为: 如果XYZ=X,则YZ必然为Z。那么在同一区块中的星号所示的单元格自然就不能为Z。 如果XYZ=Y,则XZ必然为Z。那么与XZ同一列的星号所示的单元格自然也就不能为Z。 如果XYZ=Z,则与它同一区块的星号所在的单元格肯定不能是Z。 这样,我们就实现了对星号所在的单元格中候选数的删减。看一个例

文档评论(0)

peain + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档