为什么我题解发在这里呢?因为洛谷题解满了
上代码吧
---------------------------------------------------------------------------------------------------------------------------------
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int a[14][14];
bool check(int x,int y,int z) //检查每一个横行、纵列、宫格中有无重复数字
{
for(int i=1;i<=9;i++) //横行
{
if(a[x][i]==z)
return false;
}
for(int i=1;i<=9;i++) //纵列
{
if(a[i][y]==z)
return false;
}
for(int i=1;i<=3;i++) //宫格
{
for(int j=1;j<=3;j++)
{
if(a[(x-1)/3*3+i][(y-1)/3*3+j]==z)
return false;
}
}
return true;
}
bool dfs(int x,int y) //深搜枚举数字
{
if(y>9) //当一行枚举完后跳到下一行
{
y=1;
x++;
}
if(x>9) //当枚举到9,9位