> For the complete documentation index, see [llms.txt](https://sudoku.kazusa.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sudoku.kazusa.tech/direct-technique/03-strategying-phase-1/03-mistakes.md).

# 错题

做题难免出现错题的情况。当你遇到做题做错的时候，我们有什么解决办法呢？

## 回溯策略 <a href="#backtracking-strategy" id="backtracking-strategy"></a>

在你做题的时候，例如你用纸笔进行做题的时候，很多时候你在填错数字的当时是不会发现错误的。等你往后推了一部分之后，可能才发现到一个问题：无论如何填数，所在行、列、宫都无法正常满足 1-9 各一次的情况。这个时候你必须意识到一点：你已经做错了。

当然，这个时候可能是题本身有问题。但一般而言，我们通常会相信出题者，除非在纸上做的时候，题目印刷的时候错印、漏印等情况确实难以避免，这个问题说起来就太复杂了，所以我们尽量还是保持相信出题者，相信题目是正确的。那么，正确的题目遇到此情况的时候先不要慌。先想想你在什么时候错的。

有人会问，这不是不知道哪里错的吗？这怎么可能想得到？一般来说，是的。不过，你在做题的时候肯定会有一种思路和感觉。比如说，因为你自己对自己最了解，所以你肯定清楚你自己对排除和唯一余数技巧的掌握程度。如果我唯一余数差一点，那么我的数数就会格外小心。所以一般而言，唯一余数我都会数得比较慢，或是多数几次来降低我数错数字的几率。但如果唯一余数差点，那么我的排除就会好一些。此时我可能会对排除放松警惕。那么，在数格子余下的空位的时候，我们就可能会出现脑子故意或无意跳过一些空位的错误情况，造成填错位置。

这一点不仅在纸笔做题上出现，包括我自己在内，我在手机应用里玩数独也经常会填错位置。从自身的角度出发，你应该知道你自己在造成错误的盘面状态之前，有多少个步骤已经进行，其中那些能让你感觉上“模棱两可”的地方，需要反复回顾。如果你能知道具体的位置，那么可以回退到那个局面，把从那个盘面开始的后续所有填数全部去掉，作为恢复点继续完成；如果你不知道在哪里，也没有关系，大概位置你应该是有些许印象的。你可以试着回顾一下现在错误的局面，看看哪些位置是后面填上去的，大概确认一下原本的位置是什么，然后尝试去回溯它。

## 数字形状造成错误时可以补救 <a href="#rescue-of-wrong-filling-on-digit-shapes" id="rescue-of-wrong-filling-on-digit-shapes"></a>

数独是一个非常严谨的游戏，如果一旦有问题，抛开题目本身有问题的特殊原因以外，只能是自己的问题了。这个问题包括但不限于下面两种情况：

1. 排除和唯一余数技巧在数的时候数错了（数漏了）；
2. 因为数字的形状相似导致填错，例如 4 和 9 因为写法很相近，所以经常手写的时候写错，把 4 填成了 9 之类。

对于第二种而言，这种其实还好。这种情况更多会发生在你唯一余数等数数操作上，确定余下的数字的时候。这个时候如果因为数字的形状相似，然后脑子里想的填 9，结果写了个 4 的情况其实是比较普遍的。这个时候其实并不影响题目后续的发展，因为这种错误会造成的局面必然是同一个行、列、宫出现两次这个数。这个时候你只需要定位到某个单元格，它所在行、列、宫都出现两次同样的填数的时候，把它改回来就行了。

这便是这种特殊情况的补救措施。

但是对于第一种……

## 老老实实重新做吧 <a href="#play-this-puzzle-again" id="play-this-puzzle-again"></a>

确实如此。数独这个游戏确实不允许你错的时候还能修正为正确答案。除了前面提及的办法，多数时候你都是不知晓错误的根源的。既然知道根源，那肯定改起来就很快；但既然不知道，那是谁来了都不好使，这个题只能重新做。

我知道这很难受。但是这确实是必要的。你就当是在惩罚你自己对做题时忽视造成不严谨的错误，而设定的存在。就跟你老师发现你这么小的问题都能做错，然后让你罚抄差不多。好好重新做，体会一下为什么第一次做题做错了，理论上第二轮做题按照相同的做题策略应该做起来感觉会差不多的，因为之前我们提到按数字锁定策略进行做题的时候，显然它的规则已经大幅度限定了你的下一步，所以第二次做一般不会有太大的改变，这样可以帮助你回顾和发现第一次做错的地方。

## 不要强行改数字 <a href="#do-not-modify-digits-you-have-filled" id="do-not-modify-digits-you-have-filled"></a>

在错题的时候，请不要强行修改你之前填的所有数字，任何数字都不要碰。在回忆起错误或决定重做之前，任何数字都不要改。

这是因为你填入的数字不都是错的。你不知道哪里错了，就不要随意认为它是对的或错的，去假定它必须是这样的结果，而去改变它。这样可能会带来更糟糕的结果：越改越错。

不要想着从这个角度去补救。这不是合适的做法。

## 不要依赖应用程序的帮助和提示 <a href="#do-not-rely-on-hint-and-help-functions-on-application" id="do-not-rely-on-hint-and-help-functions-on-application"></a>

当你遇到了错误的填数，大多数时候，应用程序都会提示你填错。甚至，你在填了一个数之后，它就能立马知道你填对了还是错了，这个过程甚至都不需要它帮你推算一遍你用的技巧是否正确。

这个很重要。软件提供用户判断对错的思路并不是按逻辑去算一次，而是比对答案。这是最便捷的办法，也是最奇怪的办法，也是最迫不得已的办法。应用程序大多不支持实时推算用户的填数使用了什么技巧，因为这非常耗时。不过，有些应用会有这样的行为，但也只限于支持前面排除和唯一余数这样基础的技巧。到了后面，复杂的算法要想支持到用户填写数字的推算，根本就不现实，这个主要的矛盾点还是在于它太耗时间了。

所以，软件更多会临时算出题目的解。算解比起推算技巧而言要快很多。即使电脑在快速执行逐个数字试填去找矛盾的笨办法，最终得到题目的全部空格的全部正确的数字所耗的时间可能都比起算一个数独技巧要更快。当它拿到题目的答案后，它会判断你的填写是否和答案一样。如果答案不一样，多数时候软件会立马告诉你这个填数是错误的。

我知道，你此时可能会想：What？我填这里为什么错了？然后死活想不明白为啥填这里就有问题，我填这里没发现有矛盾啊，凭什么软件说我填错了，然后就开始陷入沉思。当你知道了前面的原因之后，似乎这个问题就迎刃而解了：因为它知道答案。它可以更快地拿到题目的答案然后和你的填数进行比对。因为你采用了错误的策略造成了填数错误，于是这个格子不是填这个数的，它自然就会告诉你是错的填数。

那么，从我们的角度出发，我这么填更多还是出于一种猜测的感觉在其中。当你发现有些时候行列排除确实看不见的时候，你可能会使用一下小猜的办法，就是随便填一个数，然后看看对不对。我不否定这样的玩家的做题习惯是否有问题，猜也确实是一种做题策略。但是，我们的目的并非是解出答案，而是享受推算逻辑推理给我们带来的脑力体操。你当然可以通过猜来更快得到题目的解，但光是一个解并不会带来什么实质性的帮助，除了众多 app 给你的一些奖励。光鲜亮丽的奖励背后是辛苦钻研和努力揣摩、做题的自己，你必须要静下心来享受它，否则数独它真的不好玩，你不如去玩点别的游戏，还不如玩点不费脑子的游戏。

你当然可以一个小时完成一道只有宫排除难度的题，打发时间是一个非常不错的选择，与此同时你也可以知道你对宫排除掌握是一个什么水平，然后不断提升自己。做题只会越来越快，第一次一个小时，第二次换一个题估计就只有二十分钟了，第三次甚至只有十几分钟甚至十分钟。好好享受它，希望它给你带来的思维风暴能让你越战越勇、勇往直前。
