问题描述:数独(Sudoku)是一款大众喜爱的数字逻辑游戏。玩家需要根据9X9盘面上的已知数字,推算出所有剩余空格的数字,并且满足每一行、每一列、每一个粗线宫内的数字均含1-9,并且不重复。
输入:
包含已知数字的9X9盘面数组[空缺位以数字0表示]
输出:
完整的9X9盘面数组
输入描述:
包含已知数字的9X9盘面数组[空缺位以数字0表示]
输出描述:
完整的9X9盘面数组
#include<iostream>
#include<vector>
#include<stack>
#include<algorithm>
using namespace std;
bool isValid(const vector<vector<int>> &board,int x ,int y);
bool DFS(vector<vector<int>> &board)
{
//遍历棋盘的每个位置
for(int i=0;i<9;++i)
for(int j=0;j<9;j++)
{
if(board[i][j]==0)
{
for(int k =0;k<9;k++)
{
board[i][j] = 1+k;
if(isVali