此题解法较简单,用了深度优先搜索的思想,缺点是多层函数调用在空间复杂度上较大,暂时未进行改进,C++代码如下:
#include <iostream>
using namespace std;
/*
sudoku solver
By Felix Chang
*/
bool success = false;
int nums[9][9];
bool check(int key,int pos)
{
int row = pos / 9;
int col = pos % 9;
for(int i=0;i<9;++i)
{
if(nums[row][i] == key) return false;
}
for(