具体思路:
- 读入81个数,待填入位置以0表示
- 对每一个待填入位置,依次检查1-9是否合法(即判断每行/列/九宫格)
- 若存在唯一合法数字,将其填入
- 若有多个数字合法,记录下这些数字和它们的数目
- 当所有空格都有多个数字合法时,在合法数字数目最少的格子中依次假设是合法数字,直到找到一个解
- 循环2-5直到81个数均不为0
- 输出这81个数
C++实现(暂缺第5步):
<script src="https://code.youkuaiyun.com/snippets/1603480.js"></script>