西西河

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

共:💬74 🌺15
分页树展主题 · 全看首页 上页
/ 5
下页 末页
      • 家园 haha,偶已经试过编程了

        一直在玩数独当作实在没事做时候kill time的工具,正好放假了,勾起了编程的欲望。

        单纯的行,列和块内不重复的三个基本原则解不开这道题。需要用高级规则。

        • 家园 同志,。。。咱们大部队来了吗?哈哈

          单纯的行,列和块内不重复的三个基本原则解不开这道题。需要用高级规则。

          早就有写这个的愿望,但一直没有空,而且主观认为"行,列和块内不重复试试"就结了。放假前碰到几个学计算机的球友,他们说刚刚学了这个算法。所以俺就觉得这里面有道道,不然他们也不值得去学。俺不想再写单纯的命令行程序了,想把它写成Window之类的东东,所以这道题还不想提上日程。

          不知老兄对这个算法有什么赐教,单独写出来大家来讨论是很有趣滴!

          • 家园 纯业余爱好

            界面并不重要,算法第一。

            相关解题技巧见新帖。(为了骗花啊

            • 家园 那牛腰兄咋说行腻?

              那牛腰兄咋说笨方法行腻?

              发到那里?信息技术?还是这?用什么语言?俺肯定支持。

              界面并不重要,算法第一。

              太对了。不过俺想通过这个东东学学Windows。哈。

          • 家园 笨办法

            在每个空格里写上1到9,再用“行,列和块内不重复”这个原则一个个排除,直到剩下一个数为止。另外再加上特殊情况的处理,如一个格子里有几种可能,但其中一个数在行/列/块中只能在这个格子里出现。只要有足够的iteration,逻辑上似乎不应该太复杂。

            我觉得“行,列和块内不重复”解上面那道题足够了,我用了大约30分钟。

            • 家园 那唐楼兄咋说不行腻?
              • 家园 可能说的就是我指的“特殊情况”

                如下面这个例子:没有做完,到这一步发现有点难

                中下那块5在中间那行有两个可能,右下那块的5就只有一个可能,就是在4的左边。如果只用已经确定的数来算的话得不到那个结果。大概唐楼说的“高级规则”就是这种逻辑,即用还未确定的数来确定其他地方的数。不知道我说明白没有,自己觉得有点绕

                • 家园 不是很懂。。。

                  如果只用已经确定的数来算的话得不到那个结果。

                  那个结果?右下角5,2不是可以确定吗?

                  用还未确定的数来确定其他地方的数

                  是用中间那个2个可能的5,去推断其他地方的数吗?这也没有用到“高级规则”啊?说明白些,用穷举法解不可以吗?

                  俺觉得俺更绕.

                  • 家园 其实我的方法就是穷举法

                    我对“高级规则”的猜测可能不对,看样子这要唐楼来解释了。

                    不过我觉得对Sodoku来说“行,列和块内不重复”是唯一的规则,“高级规则”只能是推算的方法,或针对某种情况的捷径,但它不能和“行,列和块内不重复”这个最基本的原则有冲突。

      • 家园 编...编程?不至于吧,这个又不是四色难题
        • 家园 2个小时考虑这题,我想不是一件有趣的事。。。

          2个小时考虑这题,我想不是一件有趣的事。。。如果再换道题,难道再考虑1个多小时?所以我想如果一劳永逸的话,2个小时写个程序,以后就省事啦!!!哈。

    • 家园 35min
      • 35min
        家园 强!

        俺用了有一个多小时。

        头次玩,开始还不知道九宫格有用:(

      • 35min
        家园 厉害,上花
分页树展主题 · 全看首页 上页
/ 5
下页 末页


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

Copyright © cchere 西西河