罗马尼亚地下儿童电影:【数独技巧图示】Turbot Fish 删减法

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 18:58:36

数独技巧图示】Turbot Fish 删减法

  • nkopns
  • 31位粉丝
  • 独来独往5

1楼

Turbot Fish介绍之前做个简单的铺垫,简单介绍一下强弱链的关系。 单链分为强链和弱链。 

强链:某行、列或宫只存在2个某候选数,这两个数就构成强链,两数非真即假。这里用红线连接表示。  

弱链:某行、列或宫存在3个或3格以上某候选数,这些数就构成弱链,其中一个为真则其余为假;其中一个为假则不能判断其余的真假。这里用蓝线连接表示。


7

    • 2008-10-11 12:54
    • 回复
    • nkopns
    • 31位粉丝
    • 独来独往5

    2楼

    根据强链两端数字,一个为真另一个为假的特性可以引申出某些三条连续单链组有排除候选数的情况。 

    “强-强-强链”和“强-弱-强”链都可以导致“长链”两端数字交叉处格中的该数被删除。 

    下边给出两种“三连链”的图:(两图中“长链”形状可以互换) 

    说明: 
    “强-强-强链”由于链两端数非真即假的特性,标成红蓝两组,红为真则蓝为假,反之亦然。“长链”两端也为一红一蓝,肯定有一个是真,所以排除掉共同区域格(橙色格)中的x。 

    “强-弱-强链”虽然不像“三强”中数字真假那么分明,但注意弱链的两端,弱链一端为真另一端也为假,这两端的数字分别连接强链,所以导致“长链”两端数同样是一真一假。如果弱链两端均为假,则长链两端数都为真。综上:同样排除掉共同区域格(橙色格)中的x。 

    所以,可以看出“强-强-强链”与“强-弱-强链”在排除两端数字交叉区域数字的效果上是“等价”的。


      • 2008-10-11 12:55
      • 回复
      • nkopns
      • 31位粉丝
      • 独来独往5

      3楼

      turbot fish就是五条单链连成的环,有以下三种形状,左下边的形状酷似这种鱼,由此得名。


        • 2008-10-11 12:56
        • 回复
        • nkopns
        • 31位粉丝
        • 独来独往5

        4楼

        使用这种技巧就是找出这五条链中形成的“强-强-强链”或“强-弱-强链”。再利用刚才已经说明的这两种长链的性质——无论另两条链强弱与否,删除掉这两条链交点处的候选数。
        示意图:


          • 2008-10-11 13:09
          • 回复
          • nkopns
          • 31位粉丝
          • 独来独往5

          5楼

          下边是Turbot Fish删减法实例:(还有另一种画法删除数字,你找到了吗?)


            • 2008-10-11 13:11
            • 回复
            • nkopns
            • 31位粉丝
            • 独来独往5

            6楼

            最后注意一点,如果画出的“鱼”中只有一条强链或只有两条连续的强链,是无法利用这种技巧的。因为没有“强-强-强链”和“强-弱-强链”作判断候选数真假的基础。

            如果都理解了,可以应用到更长的单链中。


              • 2008-10-11 13:17
              • 回复
              • fear_too
              • 1位粉丝

              7楼

              这个比较难,用起来好像不太直观。请再详细地讲解一下,好吗?


                • 2008-10-15 14:23
                • 回复
                • nkopns
                • 31位粉丝
                • 独来独往5

                8楼

                这个观察起来肯定比唯一矩形困难一些。总之,就是在4个不同的宫找到5个同一候选数,然后画出fish,再确定每条链的强弱,再按“强弱强”的方式排除。其中找鱼的过程比较麻烦。


                  • 2008-10-15 18:11
                  • 回复
                  218.91.36.*

                  9楼

                  其实鱼的方法还是满简单的,以下为个人总结的步骤:

                  1、先确定四个宫,它们必须符合长方形/正方形的规格

                  2、接下来确定鱼尾巴,只有鱼尾巴是两个侯选数在一个宫中,并且不在一行/一列。

                  3、鱼尾巴确定了就可以开始画鱼了,分别是将鱼尾巴的两个节点横向/纵向延伸即可,而每个节点至少有两种延伸方式,所以同一条尾巴,至少有两种出现鱼的机会,并且这两种鱼型是有密切关联的。


                    • 2008-11-04 19:39
                    • 回复
                    218.91.36.*

                    10楼

                    下图中,有三条不同形状的鱼,我分别给它们取名为“翘尾鱼”“无尾鱼”和“正常鱼”

                    若画出翘尾鱼,则由确定鱼身体的5个节点,还可以再确定另一条与之完全对称的翘尾鱼,只需将鱼尾巴的两个节点的方向互换即可(横向变纵向,纵向变横向)。

                    若画出无尾鱼/正常鱼,则改变鱼尾巴的节点延伸方向,可以画出互相对称形状的鱼,即:无尾鱼与正常鱼是互相对称的。


                      • 2008-11-04 19:46
                      • 回复
                      • 数独控
                      • skyhuner
                      • 231位粉丝
                      • 独一无二8

                      11楼

                      不错,想不到有人对“鱼”还如此有研究