sudoku 心得 视觉消除法(Visual Elimination)
虽然我是程序员,但这里只介绍人类的思维方法。
这个方法我是从这里看到的:
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)的更多相关文章
- 论文:利用深度强化学习模型定位新物体(VISUAL SEMANTIC NAVIGATION USING SCENE PRIORS)
这是一篇被ICLR 2019 接收的论文.论文讨论了如何利用场景先验知识 (scene priors)来定位一个新场景(novel scene)中未曾见过的物体(unseen objects).举例来 ...
- Windows10自适应和交互式toast通知[1]
阅读目录: 概述 toast通知的结构 视觉区域(Visual) 行为(Actions) 特定场景下的Toast通知 带多内容的通知 带行为的通知(例子1) 带行为的通知(例子2) 带文本输入框和行为 ...
- 移动web开发之视口viewport
× 目录 [1]布局视口 [2]视觉视口 [3]理想视口[4]meta标签[5]总结 前面的话 在CSS标准文档中,视口viewport被称为初始包含块.这个初始包含块是所有CSS百分比宽度推算的根源 ...
- 什么是viewport,为什么需要viewport
viewport:视口,视觉窗口,显示区域.在显示面积上手机屏幕相对桌面显示器要小很多,在几年前(现在也如此)大部分网站都是为桌面显示器浏览而设计,很少考虑到适应手机屏幕,所以如果用手机浏览大多网站时 ...
- Web交互设计优化的简易check list
Web交互设计优化的简易check list 00 | 时间: 2011-02-11 | 28,842 Views 交互设计, 用户研究 “优化已有产品的体验”,这是用户体验相关岗位职责中常见的描 ...
- X Window 程式设计
X Window 程式设计 转 http://www.cppblog.com/zmj/archive/2007/05/18/24331.html X Window 程式设计 X Window 程式 ...
- 论文笔记之:Attention For Fine-Grained Categorization
Attention For Fine-Grained Categorization Google ICLR 2015 本文说是将Ba et al. 的基于RNN 的attention model 拓展 ...
- ZK框架的分析与应用
前言:本文是在下的在学习ZK官方文档时整理出来的初稿.本来里面有很多的效果图片和图片代码的.奈何博客园中图片不能粘贴上去,所以感兴趣的筒子们就将就吧.内容中,如有不好的地方,欢迎斧正! ZK框架的分析 ...
- [C#技术参考]在PictureBox 中绘图防止闪烁的办法
开篇之前说点别的,马上年终了,好希望年终奖大大的,但是好像这次项目的展示很重要,所以这几天绷得比较近,但是真的没有感觉烦,就是害怕来不及.所以抓紧了.下面直接正题.说一下用到的东西,都是Google搜 ...
随机推荐
- 2. vue基础-vue-cli(vue脚手架)
1. 作用 快速创建一个基于webpack模板的项目 2. 安装工具 安装webpack:使用npm全局安装webpack,打开命令行工具,输入 npm install webpack -g,安装 ...
- 理解 spring 事务传播行为与数据隔离级别
事务,是为了保障逻辑处理的原子性.一致性.隔离性.永久性. 通过事务控制,可以避免因为逻辑处理失败而导致产生脏数据等等一系列的问题. 事务有两个重要特性: 事务的传播行为 数据隔离级别 1.事务传播行 ...
- ls - 列出目录清单信息
ls - list directory contents 列出目录内容 格式: ls [OPTION]... [FILE]... 常用选项: -a:显示所有文件或目录(包括隐藏目录和.(当前目录),. ...
- NumPy基本操作快速熟悉
NumPy 是 Python 数值计算非常重要的一个包.很多科学计算包都是以 NumPy 的数组对象为基础开发的. 本文用代码快速过了一遍 NumPy 的基本操作,对 NumPy 整体有一个把握.希望 ...
- python测试开发django-67.templates模板变量取值
前言 django 的模板里面变量取值是通过句点语法来取值,就是一个点(.)符号.取值的对象也可以是字符串,int类型,list列表,字典键值对,也可以是一个类的实例对象. views视图 比如我在 ...
- 转载于山边小溪的博客--编写跨浏览器兼容的 CSS 代码的金科玉律
http://www.cnblogs.com/lhb25/archive/2010/06/19/1760786.html 原始网页 作为 Web 设计师,你的网站在各种浏览器中有完全一样的表现是很 ...
- 关于Python文件读写
Python中文件操作可以通过open函数,这的确很像C语言中的fopen.通过open函数获取一个file object,然后调用read(),write()等方法对文件进行读写操作. 1.open ...
- 编程语言和python介绍, 变量,小整数池,垃圾回收机制
1.编程语言的发展史 计算机是基于电工作(基于高.低电平)1010010101011 1.机器语言 优点:执行速度够快 缺点:开发效率非常低 2.汇编语言(通过英文字符组成) 优点:执行效率相较于机器 ...
- 用数据泵技术实现逻辑备份Oracle 11g R2 数据泵技术详解(expdp impdp)
用数据泵技术实现逻辑备份 from:https://blog.csdn.net/weixin_41078837/article/details/80618916 逻辑备份概述 逻辑备份时创建数据库对象 ...
- Helm 安装部署Kubernetes的dashboard
Kubernetes Dashboard 是 k8s集群的一个 WEB UI管理工具,代码托管在 github 上,地址:https://github.com/kubernetes/dashboard ...