如题,求助【方阵检索】怎么写?? 顺便请大神帮忙看看还有哪里有错的www
请受蒟蒻之% orz orz orz orz
using namespace std;
int a[10][10];
void print ()
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
{
cout<<a[i][j]<<" ";
}
cout<<endl;
}
exit(0);
}
void dfs(int x,int y)
{
if(a[x][y]!=0)
{
if(x==9&&y==9) print();
if(y==9) dfs(x+1,1);
else dfs(x,y+1);
}
else
{
for(int i=1;i<=9;i++)
{
a[x][y]=i;
for(int j=1;j<=9;j++)
{
if(j==i) continue;//跳过自己
if(a[x][y]==a[x][j]||a[x][y]==a[j][y]) break;//判断横排竖排是否有相同的数
//求助!3*3方阵怎么检索!???
}
}
}
print();
exit(0);
}
int main()
{
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
cin>>a[i][j];
}
for(int i=1;i<=9;i++)
{
for(int j=1;j<=9;j++)
dfs(i,j);
}
return 0;
}