洛谷1784 数独:
首先题意是,给你一个9x9的未填满的数独(未填满用0表示),要求你将这些0的位置上填上数字,以满足数独的特性。
解析:
其实这道题爆搜就行,毕竟只是9x9的数独,直接从每个0的位置开始搜即可
上代码:
#include <bits/stdc++.h>
#define ll long long
using namespace std;
typedef pair<int, int> pii;
const int N=9+5;
int x[N*N],y[N*N];
int mp[N][N];
bool ok = 0;
int cnt;
bool check(int dx,int dy)
{
for (int i=1; i<=9; i++)if (i!=dx&&mp[i][dy]==mp[dx][dy])return false;
for (int i=1; i<=9; i++)if (i!=dy&&mp[dx][i]==mp[dx][dy])return false;
int basex=dx;
int basey=dy;
basex--;
basex/=3;
basex*=3;
basex++;
basey--;
basey/=3;
basey*=3;
basey++;
for (int i=0; i<=2; i++)
for (int j=0; j<=2; j++)
{
if (((i+basex)!=dx)&