五千年(敝帚自珍)

主题:一道比较难的数独题,至少我是花了好几天工夫才做出来 -- kmy1810

共:💬74 🌺15
分页树展主题 · 全看首页 上页
/ 5
下页 末页
      • 35min
        家园 key

        7 6 8 9 1 2 3 4 5

        3 9 1 4 5 8 6 7 2

        2 4 5 3 6 7 8 1 9

        4 2 6 8 7 9 5 3 1

        5 3 7 6 2 1 4 9 8

        8 1 9 5 3 4 2 6 7

        6 7 2 1 8 3 9 5 4

        9 8 3 7 4 5 1 2 6

        1 5 4 2 9 6 7 8 3

    • 家园 没有做完,到这一步发现有点难。

      下一步如何解答?

      点看全图

      外链图片需谨慎,可能会被源头改


      本帖一共被 1 帖 引用 (帖内工具实现)
      • 家园 下一步

        右下角3乘3那块,5只能在最上那行,因为中间3乘3那块的5只能在第二行。5定下来了,同块中的2也可以定下来了。

        能直接推的我觉得你做得差不多了,剩下的就得用排除法,有点烦,但不是很复杂。

        • 家园 这才是本题的关键

          你的假设如此这般这般如此,

          幸运的话,猜对了。

          不对了,浪费时间,推倒重来。

          • 家园 哪来的假设?

            让最下面3X3的三块从左到右为A、B和C。B应该有一个5,不可能在第三行,因为A的5在第三行。不可能在第一行,应为earthcolor已把第一行填满了(1、8、3)。所以5只可能是在第二行的两个空格之一。虽然B的5位置不确定,但他肯定在B的第二行,那么C的5只能在第一行。而C的第一行只有两个空格,左边那个不可能(上面已有一个5),所以C的5只能在第一行的中间那格。这是你的“河图洛书”那一贴里的“Pointing Pair”那个方法。

            再看C的2,他只能在C的中间那一列,而那列现在只剩下了正中间那格,所以2的位置也可以定下来了。

            如果你觉得这两步是假设,请给出5和2在C块中其他可能的位置。

            • 家园 具体到

              具体到哪一步可能有错误,但是最终需要假定某格子内值然后进行推导,程序在台式机上,明天我把那阶段的值发上来。

              大家帮忙看看,也好进一步完善基本三原则的算法

              • 家园 或许是我们“假设”的定义不同?

                我的看法是做到了earthcolor的那一步后,C块中5和2除了中列里的上中两格外,没有其他可能,所以这两个数不是假设。你要把这个推倒重来的话这个数独题无解。

                再往上推一步,B块中的5的位置有两个可能,所以不能确定。但是5在B块的第二行是能确定的,同样不是假设。而能确定的那部分(即5在第二行)已足够用来确定(不是假设!)5在C块中的位置。

                我很好奇你的程序会推出什么样的不同解,是否有可能把原码(或逻辑)也一块贴上来?

                • 家园 中间比较

                  下面是只应用基本三原则(如果某格子所在行、列、块内有已经确定的值,则将该值从待选队列中删除)的计算结果

                  注意右下角红色部分

                  73 6 87 9 1 2 873 4 5

                  97431 987431 871 8743 5 8743 8763 71 2

                  754321 875431 87521 8743 6 8743 873 71 9

                  764 2 76 8764 974 98764 5 3 1

                  7653 753 765 7653 732 1 4 9 8

                  8 5431 9 543 43 543 2 6 7

                  976521 9751 76521 76531 8 97653 97 752 4

                  9752 9875 3 754 974 9754 1 752 6

                  97651 9751 4 2 97 9765 97 8 3

                  以下为应用了基本三原则 + Naked Pair 规则的计算结果

                  73 6 87 9 1 2 83 4 5

                  97431 987431 871 8743 5 8743 6 71 2

                  754321 875431 87521 8743 6 8743 83 71 9

                  764 2 76 8764 974 98764 5 3 1

                  7653 753 765 7653 732 1 4 9 8

                  8 5431 9 543 43 543 2 6 7

                  976521 9751 76521 76531 8 97653 97 52 4

                  9752 9875 3 754 974 9754 1 52 6

                  651 51 4 2 97 65 97 8 3

                  • 家园 原来我们的起点不一样

                    earthcolor已把中下那块的第一行做出来了(1、8、3),但你的显然没有。

                    基本三原则 + Naked Pair还是没有充分利用所有的已知条件/结果。比如中下块,你的结果是:

                    76531 8 97653

                    754 974 9754

                    2 97 65

                    用Naked Single可以确定1只能在左上角。剩下的是:

                    1 8 97653

                    754 974 9754

                    2 97 65

                    再用一次Naked Single,3只能在右上角。这样得到:

                    1 8 3

                    754 974 9754

                    2 97 65

                    再用一次Naked Single,6只能在右下角:

                    1 8 3

                    754 974 9754

                    2 97 6

                    这一块的5只能在中间一行。用这个确定条件和Pointing Pair可以确定右下块里5和2的位置。

                    上面的计算只看了中下、右下两块。如果你用这个结果再排除其他块里的一些可能,你应该可你得出earthcolor的结果。

                    • 家园 中心思想是

                      只有基本三原则是不够滴。

                      • 家园 看你怎么理解了

                        基本三原则自然是最基本的,Naked single,pointing pair这些是在一些特殊组合中基本三原则的简化/归纳,他们都是从基本三原则中推导出来的。

      • 家园 注意观察从上往下数的第三行
      • 家园 你还差一点才到最难的地方呢,努力啊。先看右下角的格子
分页树展主题 · 全看首页 上页
/ 5
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河