虽然我是程序员,但这里只介绍人类的思维方法。

这个方法我是从这里看到的:

https://www.learn-sudoku.com/visual-elimination.html

Most people try to solve Sudoku puzzles by picking a random empty cell and trying to figure out what goes in it. Unless you get lucky, this ends up being frustrating and tedious.

"Visual Elimination" is sort of the opposite of that. Instead of focusing on a particular cell, you focus on a number, and try to figure out the nine places it goes.

刚开始,大多数人可能随意选择一个空的格子,开始尝试看看什么数字可以填进去。 除非你运气好,否则,你最终可能会很沮丧。

视觉消除法(Visual Elimination)是一个反向的方法。 你聚焦在数字上,而不是空格。

That’s right – every number goes into every Sudoku puzzle exactly nine times. No more, no less. Each puzzle has nine 1s, nine 2s, nine 3s, etc.

Ok, now train yourself to look at just the larger squares in the puzzle. Think of the puzzle as a tic-tac-toe game, or a "Brady Bunch" grid (remember The Brady Bunch?). In other words, only focus on the nine large squares (called “blocks”).

训练自己把整个棋盘看成3X3格,类似tic tac toe(三连棋游戏)。 用其他话说,就是只聚焦在这9个宫里。

With me so far? Ok now, we pick a number – I like to start with "1". Because of the rules of the game, the puzzle must have exactly nine 1s, and there will be one in each tic-tac-toe square (block).

然后从数字1开始。

你需要训练自己忽略其他数字。 如下图

然后你就可以解出1的位置:

Practice this enough, and it will become second nature to you.

通过足够的训练,这会变成你的第二天性

Of course, there is no guarantee you will find all the 1s. If there were, you could always solve every Sudoku using this technique.

当然,没有保证你可以找到所有的1.

Once you have found every “1” you can find, simply move on to “2”. Do the same thing for “3”, “4”, etc – all the way through “9”.

你找到所有可以填的1后,就开始填2,3,4,一直到9

Once you have finished with “9”, don't get too excited - you are not done. If you used “Visual Elimination” to fill in any cells, you will want to go right back to “1” and try again. This is because every filled cell potentially changes things. You have only truly exhausted this technique when you go from “1” all the way through “9” without solving any new cells.

9处理完成后,不要太高兴。 你应该会到1再继续尝试,因为中间你填了一些数,改变了状态。 只有你重复1~9一遍,一个数字都不能填进去,你才算完成。

sudoku 心得 视觉消除法(Visual Elimination)的更多相关文章

  1. 论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)

    这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来 ...

  2. Windows10自适应和交互式toast通知[1]

    阅读目录: 概述 toast通知的结构 视觉区域(Visual) 行为(Actions) 特定场景下的Toast通知 带多内容的通知 带行为的通知(例子1) 带行为的通知(例子2) 带文本输入框和行为 ...

  3. 移动web开发之视口viewport

    × 目录 [1]布局视口 [2]视觉视口 [3]理想视口[4]meta标签[5]总结 前面的话 在CSS标准文档中,视口viewport被称为初始包含块.这个初始包含块是所有CSS百分比宽度推算的根源 ...

  4. 什么是viewport,为什么需要viewport

    viewport:视口,视觉窗口,显示区域.在显示面积上手机屏幕相对桌面显示器要小很多,在几年前(现在也如此)大部分网站都是为桌面显示器浏览而设计,很少考虑到适应手机屏幕,所以如果用手机浏览大多网站时 ...

  5. Web交互设计优化的简易check list

    Web交互设计优化的简易check list 00 | 时间: 2011-02-11 | 28,842 Views 交互设计, 用户研究   “优化已有产品的体验”,这是用户体验相关岗位职责中常见的描 ...

  6. X Window 程式设计

    X Window 程式设计 转   http://www.cppblog.com/zmj/archive/2007/05/18/24331.html X Window 程式设计 X Window 程式 ...

  7. 论文笔记之:Attention For Fine-Grained Categorization

    Attention For Fine-Grained Categorization Google ICLR 2015 本文说是将Ba et al. 的基于RNN 的attention model 拓展 ...

  8. ZK框架的分析与应用

    前言:本文是在下的在学习ZK官方文档时整理出来的初稿.本来里面有很多的效果图片和图片代码的.奈何博客园中图片不能粘贴上去,所以感兴趣的筒子们就将就吧.内容中,如有不好的地方,欢迎斧正! ZK框架的分析 ...

  9. [C#技术参考]在PictureBox 中绘图防止闪烁的办法

    开篇之前说点别的,马上年终了,好希望年终奖大大的,但是好像这次项目的展示很重要,所以这几天绷得比较近,但是真的没有感觉烦,就是害怕来不及.所以抓紧了.下面直接正题.说一下用到的东西,都是Google搜 ...

随机推荐

  1. mysql 获取指定日期到指定日期 区间段的日期

    第一种方法: cross join (就相当于mysql中的循环) CROSS JOIN 把两张表中的数据进行 N * M的组合,即笛卡尔积 这里的两张表利用 union all都有5条数据,所以进行 ...

  2. Python 常用语句

    条件语句 a=input("请输入数字a的值:\n") a=int(a) #从控制台接收到的都是字符串类型,需要转换 if a==0: #也可以写成if(a==0): print( ...

  3. Redis特点分析及性能优化

    一.Key >Redis key值是二进制安全的,这意味着可以可以使用任何二进制序列作为key值.空字符串也是有效的key值. >key取值原则 1.键值不需要太长,消耗内存,且在数据中查 ...

  4. RxJS——订阅(Subscription)

    订阅(Subscription) 什么是订阅?订阅是一个对象,它表示一个处理完就释放(disposable)的资源,是 Observable 的一个执行程序.订阅有一个很重要的方法,unsubscri ...

  5. 分布式利器之redis-第二章

    上期答案 问题1:Redis单线程为什么快?回答: 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速.数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1 ...

  6. redis的cluster(分布式or分片)

    1.创建配置文件: /data/cluster目录下创建6个redis配置 2.逐个配置 port 7001 添加: daemonize yes cluster-enabled yes cluster ...

  7. 使用APICloud创建一个webapp项目

    1.在APICloud官网注册,下载APICloud Studio并解压.(这里我选择的是APICloud Studio,还可以选择其他的开发工具的APICloud插件如Sublime,Webstor ...

  8. rest framework 之序列化

    一.示例 restful work 的序列号就类似于 Django 的 Form 表单. 1.api/urls.py from django.urls import path, re_path fro ...

  9. jenkins部署java项目(五)

    一.web server安装jdk+tomcat其中jdk可以为openjdk,版本1.8 1.1 安装jdk环境 方式一:直接使用yum安装openjdk # * 方式二:本地安装在oracle官网 ...

  10. Appium连接夜神模拟器,模拟手势点击(tap)

    # -*- coding:utf-8 -*- from appium import webdriver from time import sleep desired_caps ={ 'platform ...