数独问题大家都很熟悉,很喜欢挑战。但解决此问题极其需要耐心和逻辑,正因为此,解决完才会享受到那种成就感的乐趣。本文利用Python3 解决数独问题,虽然过程不一样,但结果还是会让人感受一样的乐趣。
一、问题描述
根据九宫格盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个宫(3 * 3)内的数字均含1—9这9个数字。说句题外话,三位爱尔兰数学家2012年发表了一篇论文,证明了数独至少需要 17 个初始数字才有唯一解。
二、解决思路
对每个空格寻找到其可能的数字,选择有可能的数字数量最小的,为其添加一个数字,并记录此状态,以此类推,当无解时则返回上一个节点状态,直到全部空格填充完毕。
三、Python3代码
import pandas as pd
import numpy as np
本文利用Pandas读取存放数独的Excel文件,利