代码一直出不了结果
  • 板块P1784 数独
  • 楼主Passerby_X
  • 当前回复4
  • 已保存回复4
  • 发布时间2022/1/18 20:13
  • 上次更新2023/10/28 12:01:20
查看原帖
代码一直出不了结果
565294
Passerby_X楼主2022/1/18 20:13

不知道哪里出现了问题,没有输出,程序要手动关

#include <bits/stdc++.h>
using namespace std;
int a[10][10];
int bookx[10][10],booky[10][10],bookz[10][10];

void outt()
{
	for(int i=1;i<=9;i++)
	{
		for(int j=1;j<=9;j++)
			cout<<a[i][j]<<' ';
		cout<<endl;
	}
}

void dfs(int x,int y)
{
	if(x==10)
	{
		outt();
		dfs(x,y+1);
	}
		
		
	if(y==9)
	{
		x++;
		y=0;
		dfs(x,y);
	}
	for(int i=1;i<=9;i++)
	{
		if(bookx[i][x]==0 && booky[i][y]==0 && bookz[i][x/3*3+y/3]==0)
		{
			a[x][y]=i;
			bookx[i][x]=1;
			booky[i][y]=1;
			bookz[i][x/3*3+y/3]=1;
			dfs(x,y+1);
			bookx[i][x]=0;
			booky[i][y]=0;
			bookz[i][x/3*3+y/3]=0;
		}
	}
	return ;
}

int main()
{
	for(int i=1;i<=9;i++)
		for(int j=1;j<=9;j++)
		{
			int b;
			cin>>b;
			a[i][j]=b;
			if(b!=0)
			{
				bookx[b][i]=1;
				booky[b][j]=1;
				bookz[b][i/3*3+j/3];
			}
		}
	dfs(0,0);
	return 0;
}
2022/1/18 20:13
加载中...