精华内容
下载资源
问答
  • 世界上最难数独题

    千次阅读 2019-03-26 19:07:00
    难度等级:14518分,确实是超级,一般的专家级的4000左右分就非常了。 解题路径: 解完后为: 转载于:https://www.cnblogs.com/webjlwang/p/10602720.html...

     

    难度等级:14518分,确实是超级难,一般的专家级的4000左右分就非常难了。

    解题路径:

     

     

    解完题后为:

     

    转载于:https://www.cnblogs.com/webjlwang/p/10602720.html

    展开全文
  • 数独题

    2018-07-26 19:29:13
    今天敲了道数独题,hdu1426,希望自己了解一下。 hdu 1426 戳这里 思路感觉不是很,但是代码量有点大搞得有很多bug,调试了很久才ac。 具体思路: 先构图(感觉这个比较恶心,我是先输入一个字符 再输入 ...

    数独(一个十分有趣的dfs实现)

    今天敲了道数独题,hdu1426,希望自己了解一下。
    hdu 1426 戳这里
    思路感觉不是很难,但是代码量有点大搞得有很多bug,调试了很久才ac。
    具体思路

    1. 先构图(感觉这个比较恶心,我是先输入一个字符 再输入 后面八个字符,最后输入后面八行)这样比较简单但是很蠢的输入方法比较适合我。
    2. 然后就是找‘?’的点并且用结构体去储存一下。
    3. 然后就是dfs,遍历1~9这些数字去判断每个‘?’点的行 列 和所在方框能不能选择该数字。

      AC代码

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <sstream>
    #include <string>
    #include <algorithm>
    #include <list>
    #include <map>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <cmath>
    #include <cstdlib>
    #include<iomanip>
    using namespace std;
    int map1[11][11];
    int sum,f=0;
    struct node{
        int a,b;
    };
    node p[1001];
    int panduan(int x,int y,int k) /*判断行列方格有没有重复*/
    {
        for(int i=1;i<=9;i++)
           {
                if(map1[x][i]==k)
                return 0;
                if(map1[i][y]==k)
                return 0;
           }
           int x1=(x-1)/3*3;
           int y1=(y-1)/3*3;
           for(int i=x1+1;i<=x1+3;i++)
            for(int j=y1+1;j<=y1+3;j++)
              if(map1[i][j]==k)
              return 0;
              return 1; 
    }
    void dfs(int n)
    {     
        if(f)
        return ;
        if(n==sum)
        {    f=1;
            for(int i=1;i<=9;i++)
            {
             for(int j=1;j<=9;j++)
                if(j==9)
                cout<<map1[i][j];
                else
                cout<<map1[i][j]<<" ";
                cout<<endl;
             } 
             return ;
        }
        else
        {
             for(int i=1;i<=9;i++)
              {
                if(panduan(p[n].a,p[n].b,i))
                {   
                    map1[p[n].a][p[n].b]=i;
                  dfs(n+1);
                }  
              }
              if(f)
              return ;
        }
        map1[p[n].a][p[n].b]=-1;
        return ;
    }
    int main()
    {    char num;
                int t=0;
          while(cin>>num)
          { if(num=='?')
                map1[1][1]=-1;
            else
                map1[1][1]=num-48; 
            for(int i=2;i<=9;i++)
                {   cin>>num;
                    if(num=='?')
                    map1[1][i]=-1;
                    else
                    map1[1][i]=num-48;
                } 
            for(int i=2;i<=9;i++)
                for(int j=1;j<=9;j++)
                {
                    cin>>num;
                    if(num=='?')
                    map1[i][j]=-1;
                    else
                    map1[i][j]=num-48;
                 }
                 sum=0;
            for(int i=1;i<=9;i++)
                for(int j=1;j<=9;j++)
                    if(map1[i][j]==-1)
                    {
                        p[sum].a=i;
                        p[sum].b=j;
                        sum++;
                    }
                    if(f)
                    cout<<endl;
                    f=0;
                    dfs(0);
          }
    }

    记住好吧!!!!!!!!!!!!!!!

    展开全文
  • 数独
  • 搜集的几个超高难度的数独题

    万次阅读 2018-06-11 16:00:17
    本人搜集的几个超高难度的数独题,包含著名的芬兰数学字花了三个月制作的据说是世界上最难的题。但根据几个软件的难度评价,这个并不是最难的。欢迎大家给出高难度的数独题! 题目 HoDoKu v2.2 难度评价 Sudoku ...

    本人搜集的几个超高难度的数独题,包含著名的芬兰数学家花了三个月制作的据说是世界上最难的题。但根据几个软件的难度评价,这个并不是最难的。
      
    题目                                                                            HoDoKu v2.2难度评分            Sudoku Explainer v1.2.9难度评分   
    000001007000060020800900300095400003003000400400000080000007006010020000500300900  23184  10.8
    800000000003600000070090200050007000000045700000100030001000068008500010090000400  21342  10.7
    005300000800000020070010500400005300010070006003200080060500009004000030000009700  14518  10.6   
    100400800040030009009006050050300000000001600000070002004010900700800004020004080  13964  10.0   
    400007500090306010002000000857000201004002000000000047000000000000105300360800090   8994   8.5
    087900004005700020300000007000400000000060145010007000008200360940300000000095000   8624  



     
    欢迎大家给出高难度的数独题!

    展开全文
  • 世界最难数独详细解题过程!!!!讲解非常详细!!!!喜欢数独的朋友可以一起看看!!!!学习!
  • 以下我们将叙述一道标准数独的全部解题过程,在此过程中涉及到的技巧有摒除法、余数法、区块法、数对法、X-Wing这几个常在数独书籍中会涉及到的技巧,文中将描述各个技巧的结构及作用效果,相信在看完解题过程之后,...

    更多内容请访问 www.uusystem.com

    • 以下我们将叙述一道标准数独的全部解题过程,在此过程中涉及到的技巧有摒除法、余数法、区块法、数对法、X-Wing这几个常在数独书籍中会涉及到的技巧,文中将描述各个技巧的结构及作用效果,相信在看完解题过程之后,您能相当程度地掌握到数独的基本解题技巧,也能在解题的过程中发现数独给您带来的乐趣。
    • 谜题如下图
      1.PNG


      2.PNG
    • 第一招:摒除法
    • 大家之前已阅读过数独的规则:在每个单元中,每个数字只能出现一次,那么也就意味着,如果一行已经出现了一个1,这行的其他格就不再有1,利用这个观点,引发出摒除法。
    • 第1步:数字2对B1进行摒除
      r1c8为2,则其所在R1不再有2;
      r2c4为2,则其所在R2不再有2;
      r9c2为2,则其所在C2不再有2,
      在B1中还没有2,B1有6个空格可以填2,但其中5个空格被摒除了,只剩下r3c1,所以得到第一解:r3c1=2
    • 这个方法因为是对宫实施摒除的,所以叫宫摒除法。宫摒除法是解题技巧里面最简单的一种,也是解题过程中使用最多的一种。其实解数独就是这么简单!

    • 第2步:r1c3=7(宫摒余解,数字7对B1摒除)
    • 第3步:r4c7=7(宫摒余解,数字7对B6摒除)

      3.PNG
    • 第4步:数字7对C5进行摒除
    • r1c3为7;则其所在R1不再有7;
    • r2c9为7,则其所在R2不再有7;
    • r4c7为7,则其所在R4不再有7;
    • r6c2为7,则其所在R6不再有7;
    • r8c1为7,则其所在R8不再有7;
    • r9c8为7,则其所在R9不再有7,
    • 在C5中还没有7,C5有7个空格可以填7,但其中6个空格不能为7了,所以天元格r5c5=7
    • 这个方法因为是对列实施摒除的,所以叫列摒除法,与其类似的还有行摒除法。行列摒除法也是很常用的方法。

    • 见识了摒除法之后,大家是否尝试寻找另一个摒余解呢?不好意思要给大家泼凉水了,因为这个盘势下已经找不到宫摒余解或者行列摒余解了,那怎么办呢,没关系,我们继续介绍其它的技巧。
    • 第二招:余数法
    • 前面我们提到,一格受其所在单元中其他20格的牵制,假如这20格里面已经出现了1-8这8个数字,我们就可以断定这格一定是未出现的唯一数字9。
      4.PNG
    • 第5步:点算r7c8的等位群格位已出现的数字
    • r7c8处于R7、C8、B9,我们来点算一下已经出现过的有哪些数字:r1c8=2;r4c8=6;r6c8=9;r7c3=5;r7c5=8;r7c7=3;r8c9=4;r9c8=7,只有一个数字1没有出现,所以得到r7c8=1
    • 这个方法很容易,几乎每个人一学就会,但是观察却极度的困难,必须多加练习才能掌握它的诀窍

    • 再次陷入僵局,盘面上找不到摒除解和余数解了,进入第三招:X-Wing
    • 听名字是不是完全不知道是什么?还是用题目来看。
      5.PNG
    • 第6步:先找到X-Wing,再使用余数法
    • 第1手:数字5对R2、R8摒除,出现X-Wing结构
    • 首先来看R2,因为r1c2为5,同处于B1的r2c2和r2c3不能为5;r5c7为5,所以同处C7的r2c7不能为5
    • 再看R8,因为r7c3为5,同处于B7的r8c2和r8c3不能为5;r5c7为5,所以同处于C7的r8c7不能为5
      6.PNG
    • 5在R2有两种位置可以填,当填在r2c5时,则r2c8,r8c5不能为5,因此r8c8=5
    • 情形若是如此,则C5,C8打×格均不能为5
    • 7.PNG
    • 当5填在r2c8时,r2c5,r8c5不能为5,因此r8c5=5
    • 情形若如此,则C5,C8打×格均不能为5
      8.PNG
    • 可见不论是哪种情况,C5和C8除这4格以外(也就是上述两种情况的交集)不能再有5。这就是X-Wing的删减逻辑。
    • 这手请记住删除了r3c8的5。
    • X-Wing是一个较难的进阶技巧,在进阶技巧中相对于后面我们会提到的区块、数对发生的几率小的多,但我们也要学会如何使用它。
      9.PNG
    • 第2手:点算r3c8的等位群格位已出现的数字
    • r1c8=2;r2c9=7;r3c3=8;r3c5=3;r3c7=1;r4c8=6;r6c8=9,加上之前的X-Wing排除了5的可能,所以得到r3c8=4

    • 第7步:r6c7=4(宫摒余解,数字4对B6摒除)


      10.PNG
    • 在这里如果我们用2对C7摒除,可以得到摒余解r8c7=2,但可能这个观察范围过大,摒除的两个数字一个在r1c8,一个在r9c2,看起来很困难,但是我们可以利用下面介绍的区块摒除法架起一条桥梁,使观察变的容易一些。
    • 第四招:区块摒除法
    • 在利用摒除的时候,可能最后发现一个单元里面还剩不止一个格子为某个数,看似没什么用,其实不然,假设B1的1在r1c1或者r1c2,虽然我们不知道哪个是哪个,但是R1的其他空格不是就不能为1了么?
    • 第8步:利用区块的观点来观察r8c7为何是2
    • 第1手:数字2对B6摒除
    • 得到B6的2在r4c9,r5c9,r6c9之中
    • r4c9,r5c9,r6c9是 B6和C9 的交集,我们称数字2形成区块
      11.PNG
    • 第2手:数字2对B9摒除
    • 由于B6的2在r4c9,r5c9,r6c9之中,即C9的2在B6当中,对B9摒除后得到摒余解r8c7=2
    • 读者们可以尝试下如果第4步用区块看会有什么效果。当您熟练地运用区块摒除法时就像一座桥梁,把一些本来距离很远,相对难观察的数字联系起来,当然这就需要记忆了。

    • 第9步:r7c6=2(宫摒余解,数字2对B8摒除)
    • 第10步:r7c4=7(宫摒余解,数字7对B8摒除)
    • 第11步:r3c6=7(宫摒余解,数字7对B7摒除)
    • 第12步:r5c9=2(行摒余解,数字2对R5摒除)
    • 第13步:r6c9=1(宫摒余解,数字1对B6摒除)
    • 第14步:r5c4=1(宫摒余解,数字1对B5摒除)
    • 第15步:r7c2=4(行摒余解,数字4对R7摒除)
    • 第16步:r4c3=4(宫摒余解,数字4对B4摒除)
    • 第17步:r6c3=2(宫摒余解,数字2对B4摒除)
    • 第18步:r5c6=4(宫摒余解,数字4对B5摒除)
    • 第19步:r4c5=2(宫摒余解,数字2对B5摒除)
    • 第20步:r4c6=9(宫摒余解,数字9对B5摒除)


      12.PNG
    • 当一个单元里面某两个数A和B只能在某2个格子的时候,该单元中其他格就不能再有这两个数字了,这就是数对法,听起来有点玄乎,用这道题来看就容易了。
    • 第21步:先找出数对,然后利用数对的占位进行摒除。
    • 第1手:数字1,9对B2摒除
    • 这时我们需要同时用两个数字来摒除,r5c4与r8c6的1对B2摒除得到1在r1c5或r2c5;r8c4与r4c6的9对B2摒除得到9也在r1c5或r2c5,所以B2的1和9占据了r1c5和r2c5这两个位置。
      13.PNG
    • 第2手:数字4对B2摒除
    • 数字4对B2摒除后,还有2个空格可填4,但数对占用了2个空格的1个(r1c5),只剩下一个空格r1c4,所以得到r1c4=4

    • 第22步:r1c6=8(宫摒余解,数字8对B2摒除)
    • 第23步:r3c4=5(唯余解)
    • 第24步:r2c8=5(宫摒余解,数字5对B3摒除)
    • 第25步:r9c9=5(宫摒余解,数字5对B9摒除)
    • 第26步:r8c5=5(宫摒余解,数字5对B8摒除)
    • 第27步:r6c6=5(宫摒余解,数字5对B5摒除)


      14.PNG
    • 当某个单元中8格都被解出,则剩下的那个一定是未出现的第9个数字了,这就是第六招:唯一数。唯一数是唯余的特例,因为它只要观察一个单元,所以观察容易多了。
    • 第28步:观察C6
    • C6还剩一格没填数字,只有3还没出现,所以r9c6=3。
    • 唯一数可谓是最容易理解的招数了,所以当有唯一数出现的时候,读者千万别忽略它哦!

    • 第29步:r9c5=4(宫摒余解,数字4对B8摒除)
    • 第30步:r9c4=6(B8唯一数)
    • 第31步:r6c5=6(宫摒余解,数字6对B5摒除)
    • 第32步:r1c9=3(宫摒余解,数字3对B3摒除)
    • 第33步:r5c8=3(宫摒余解,数字3对B6摒除)
    • 第34步:r4c9=8(B6唯一数)
    • 第35步:r8c8=8(C8唯一数)
    • 第36步:r6c4=8(宫摒余解,数字8对B5摒除)
    • 第37步:r6c4=8(B5唯一数)
    • 第38步:r4c1=5(R4唯一数)
    • 第39步:r6c1=3(R6唯一数)
    • 第40步:r2c7=8(数字8对B3摒除)
    • 第41步:r9c1=8(数字8对B7摒除)
    • 第42步:r5c2=8(数字8对B4摒除)
    • 第43步:r5c1=6(B4唯一数)
    • 第44步:r3c2=6(宫摒余解,数字6对B1摒除)
    • 第45步:r3c9=9(R3唯一数)
    • 第46步:r1c7=6(B3唯一数)
    • 第47步:r7c9=6(C9唯一数)
    • 第48步:r9c7=9(B9唯一数)
    • 第49步:r9c3=1(R9唯一数)
    • 第50步:r7c1=9(R7唯一数)
    • 第51步:r1c1=1(C1唯一数)
    • 第52步:r1c5=9(R1唯一数)
    • 第53步:r2c5=1(R2唯一数)
    • 第54步:r2c2=9(宫摒余解,数字9对B1摒除)
    • 第55步:r2c3=3(B1唯一数)
    • 第56步:r8c2=3(C2唯一数)
    • 第57步:r8c3=6(B7唯一数)
    • 完成
      15.PNG
    • 转载请注明出自独数之道

    转载于:https://www.cnblogs.com/tianjifa/p/10441476.html

    展开全文
  • 我们需要求解的数独就是世界上最难数独: 这个数独被当时一个 69岁的爷爷花了三天时间给算出了,有这样一个故事: 下面我将带大家手把手写出这样的一个小程序,来快速的求解出世上最难数独 . . . 首先,我们都...
  • 数独洛谷题解

    2020-04-16 09:27:34
    题目 题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一...芬兰一位数学家号称设计出全球最难...
  • 一秒内破解“最难数独

    千次阅读 2013-05-29 23:17:05
    网上看到一则新闻,江苏69岁农民3天破解“世界最难数独”,我也写了个程序破解该数独。 原报道截图如下: 原如下:   运行结果:     #include #include using namespace std; int p[9][9]...
  • 59空格超简单数独题

    千次阅读 2012-10-23 15:10:16
    QQ及邮箱: ... 0 0 0 0 9 0 0 3 8  ...生成题目是随机的,一般59空题目是很的,遇到这样的题目也算是我中奖了,目前还不知道得到这种题目的频率,毕竟是随机的,而终盘数是天文数字的天文数字。  
  • 这100道数独全部是根据本人开发的程序随机生成。 每道的提示数数量范围为22—27。...每道的难度,用HoDoKu来评分,至少为3000,平均难度分为4615,最难的8994分。 作者:萧萧 邮箱:8332471@qq.com 2018年6月
  • python解数独--世界最难数独2.3秒完成

    万次阅读 多人点赞 2013-08-04 20:37:09
    “芬兰数学家因卡拉,花费3个月时间设计出了世界上迄今难度最大的数独游戏,而且它只有一个答案。因卡拉说只有思考能力快、头脑聪明的人才能... 上图就是那个最难数独。解数独用的就是深度优先搜索,有几个方面可
  • 蓝桥历届试题 数独

    2017-03-03 10:59:56
    你一定听说过“数独”游戏。 如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。...本的要求就是输入数独题目,程序
  • 个人的第一篇博文,还请多多支持,不当之处,还请多多指教。(以后有精力还会写更多的文章)本人是一名大一狗,目前为止学了半年python,对python也就有一点点的了解,没事爱编写一些小程序玩...这有意思,我想用p...
  • 数独

    2019-04-21 13:46:49
    题目: 你一定听说过“数独”游戏。 如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内...本的要求就是输入数独题目,程序输出数独的唯一解...
  • 今天是小浩算法 “365刷题计划” 第95天 。数独相信在座的各位都玩过,那我们如何使用程序去验证一个 9×9 的数独是有效的呢?一起看下!01PART有效的数独数独是源自18世纪瑞士的...
  • 你一定听说过“数独”游戏。 如【图1.png】,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的...本的要求就是输入数独题目,程序输出数独的唯一解。我们...
  • 唯一数可谓是容易理解的招数了,所以当有唯一数出现的时候,读者千万别忽略它哦! 第29步:r9c5=4(宫摒余解,数字4对B8摒除) 第30步:r9c4=6(B8唯一数) 第31步:r6c5=6(宫摒余解,数字6对B5摒除) 第32步:r1c9=3...
  • 数独计算器 数独游戏 数独... 本数独游戏 采用分为闯关模式和 随机模式,随机模式中的题库更多,闯关模式会随着 关数的增加而越来越。2个互不影响。 另外还有个数独计算器,妙算数独。 修复了上次数独计算器的2个BUG
  • 面试-华为(16年)-数独-7

    千次阅读 2017-02-23 19:23:02
    华为面试数独
  • 这道题目有一定的难度,从图中我们可以看到,一共有6个等式,让我们分别在方框内填入不同的数字,...第三道题目:小学一年级入学考试智力这是一道经典的小学一年级学生入学考试。这道题目的难度在于是否能够发现...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,643
精华内容 657
关键字:

最难的数独题