日期:2020.02.12

博客期:152

星期三

  

  老师给的任务都做完了,15篇博客也都写好了,剩下的几天居然还要每天写一篇~唉~为难我 PH ,剩下的几天就把 我的数独要义分享一下吧!

  1、基本局规则

    数独表是一个 9 X 9 的宫格!其中对这个 81宫格 的每一种划分的区块内,标注着不重复的 1 ~ 9 数字!

    一共有三种划分方法:

      第一种——像上面的图一样,中间的粉线把 81 宫格分成了 9 个 九宫格!

      第二种——上面的每一行都看作一个区块(上面的八条横线,将 81宫格 划分成 9 行 )

      第三种——上面的每一列都看作一个区块(上面的八条竖线,将 81宫格 划分成 9 列)

    将上述三种划分的区块里 1~9数字不重复的填入,这就是我们数独游戏的内容了!(其实我不知道怎么玩,也没有看过规则,这是自己总结的)

  2、我的开局思路

    (a). 首先需要找到表格上未填入的数字每一种有多少个,找到剩余未填数目最少的那一个(如上图就是 6 ,它剩余 5 个是没有填的)

    (b). 我们看看有什么地方可以填入 6

    (c). 看右上角的九宫格,由于它的下面两个九宫格都有 6,分析得出结论——左上角的 6 应该在 这个九宫格的第 2 列,然后分析行,得出结论——左上角的 6 应该在这个九宫格的第 1 行 或 第 3 行,综上所述 6 的坐标应该是 (1,2) 或 (3,2)位置【九宫格内】!因为 (3,2)位置已经有了数字 4,所以 6 应该在 (1,2)位置。

     (d). 同理,找到其余结果。(剩下的两个九宫格里的 6 没有办法找到,因为是有 2 种可能,所以我们只标记一下)

    (e).可以继续选择去找下一个(除了已经处理过的 6 以外)剩余数目最小的数字,去操作。

    (f). 然后我就发现,做不动了!怎么办呢?我们可以根据 竖列的性质来做,因为每一竖列划分也是不能 同为一值 的。(比如最右方 1 6 4 已经占领了右下九宫格的最后一列,所以我们的 2 只能在前两列出现,但是右上九宫格的 2 出现在了第一列,所以 2 只能在右下九宫格的 (2,3) 位置了)。

    (g). 还有呢?我们可以做横列分析这个是比较笨的方法,我能不用就不用!

      原理——一个位置可能出现的数值集合 = {1,2,3,4,5,6,7,8,9} - {在这一行出现过的数值} - {在这一列出现过的数值} - {在这一个九宫格出现过的数值},当这个集合只能有 1个数值的时候我们就可以做判断了。

      适用范围——当某一行和某一列的出现过的数值集合相差较大时,以及某一个划分已经有8个数值填好了的情况。

      举例——上面图中的 8 号位置的 7 号位所在行出现数值集合 = {2,3,4,5,6},列对应集合 = {1,5,6,7,9},所以只能填 8 了。

    (h). 那这样就可以了吗?显然不是这样!看下图的提示位置实际上能出现的值里没有 9,为什么呢?因为 1 号位 九宫格的 6 号位是 9 所以 第 3 列是不可能有 9 的,进而确定了 7 号位九宫格的 9 只能出现在 (3,1) 和 (3,2) 位置,也就是说第 3 行,所以自动绑定了 8、9 号位的九宫格内 9 不能出现在 第 3 行!同理,可以得到 9 号位九宫格的 9 只能出现在 第三列。

   (i). 特别的还有 多项对应,就是比如 有 3 个位置, 第一个位置可能取值于 {1,2,3}中的一个,而第二第三位置可能取值{2,3}中的一个!那么第一个位置只可能是 1!

Steam 游戏 《Sudoku Universe(数独宇宙)》——[数独基本局分析]的更多相关文章

  1. Steam 游戏 《Sudoku Universe(数独宇宙)》、《Sudoku Killer(数独杀手)》、《Sudoku Jigsaw(数独拼图)》数字位置解析 ---------C# 数独程序解析(2020年寒假小目标11)

    日期:2020.02.11 博客期:151 星期二 今天,准备肝一个 C# 的数独读写工具(汇编语言也在努力学习命令方法中...),这三个游戏我早就买下了,一直放在 Steam 库里积灰,看着它的成就 ...

  2. Steam游戏黑屏与游戏直接安装方法

    黑屏原因主要是360禁止了反作弊进程,解决方法: Steam游戏目录: Steam\steamapps\common\*** 例如黎明杀机,备份时候可直接备份该目录下 Dead by Daylight ...

  3. 基于steam的游戏销量预测 — PART 1 — 爬取steam游戏相关数据的爬虫

    语言:python 环境:ubuntu 爬取内容:steam游戏标签,评论,以及在 steamspy 爬取对应游戏的销量 使用相关:urllib,lxml,selenium,chrome 解释: 流程 ...

  4. Steam游戏《Nine Parchments(九张羊皮纸)》修改器制作-[先使用CE写,之后有时间的话改用C#](2020年寒假小目标02)

    日期:2020.01.09 博客期:122 星期四 [温馨提示]: 只是想要修改器的网友,可以直接点击此链接下载: 只是想要部分CT文件的网友,可以直接点击此链接下载: 没有博客园账号的网友,可以将页 ...

  5. Steam游戏《Northgard(北境之地)》修改器制作

    日期:2021.06.07 博客期:181 星期一 [温馨提示]: 我现在把资源先放到开头,不想研究学习的就直接取用.如果修改器失效了,你们可以在博客园本页直接评论,也可以给我发邮件告诉我,就是不要到 ...

  6. 自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析

    自制Unity小游戏TankHero-2D(4)关卡+小地图图标+碰撞条件分析 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm ...

  7. [Leetcode 37]*数独游戏 Sudoku Solver 附解释

    [题目] 每一行.每一列.每个3*3的格子里只能出现一次1~9. [思路] 参考了思路,附加了解释. dfs遍历所有非空格子,n是已经填好的个数. 初始化条件.n=81,都填了,返回结束.对于已经填好 ...

  8. HDU 1426 Sudoku Killer【DFS 数独】

    自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品— ...

  9. LeetCode 37 Sudoku Solver(求解数独)

    题目链接: https://leetcode.com/problems/sudoku-solver/?tab=Description   Problem : 解决数独问题,给出一个二维数组,将这个数独 ...

随机推荐

  1. 问题 B: 奇怪的电梯

    问题 B: 奇怪的电梯 时间限制: 1 Sec  内存限制: 128 MB[命题人:admin] 题目描述 大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0& ...

  2. winform学习(11)Timer控件

    利用Timer控件制作简单的跑马灯: 拉一个Lable控件至窗体中心,Text内容为★▶◀★▶◀★▶◀★▶◀ 再拉一个Timer控件,属性Enabled设置为True(即开启控件),Interval设 ...

  3. stm32f103中freertos的tasks基本使用案例及备忘

    基本实例   freetos的在stm32中使用踩了一些坑,事情做完了,就 做个备忘,希望能给后面的人一些借鉴. 先给出一个实际的例子吧. 启动代码 void task_create(void) { ...

  4. 刷题72. Edit Distance

    一.题目说明 题目72. Edit Distance,计算将word1转换为word2最少需要的操作.操作包含:插入一个字符,删除一个字符,替换一个字符.本题难度为Hard! 二.我的解答 这个题目一 ...

  5. Jquery获取html参数, jquery.params.js 获取参数

    ================================ ©Copyright 蕃薯耀 2019年12月31日 http://fanshuyao.iteye.com/ /** * 使用:$.q ...

  6. HTTP状态码详解(下)

    接上文 HTTP状态码详解(上). 详细的描述状态码之(3**) 300:被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息.用户或浏览器能够自行选择一个首选的地址进 ...

  7. MySQL执行外部sql脚本文件的命令

    sql脚本是包含一到多个sql命令的sql语句,我们可以将这些sql脚本放在一个文本文件中(我们称之为“sql脚本文件”),然后通过相关的命令执行这个sql脚本文件.基本步骤如下:1.创建包含sql命 ...

  8. HBase 启动后HMaster进程自动消失

    原因分析 1.hadoop 与 hbase 版本不兼容,导致的异常. 2.log日志信息显示 org.apache.hadoop.hbase.TableExistsException: hbase:n ...

  9. 生成树计数 lighting 最终决定用这个模板! (有逆元的模板)

    #include <cstdio> #include <cstring> #include <algorithm> #include <cmath> # ...

  10. Django之form表单操作

    小白必会三板斧 from django.shortcuts import render,HttpResponse,redirect HttpRespone:返回字符串 render:返回html页面 ...