题海拾贝:P1784 数独

Hello大家好!很高兴我们又见面啦!给生活添点passion,开始今天的编程之路!

我的博客: <但凡.

我的专栏: 《编程之路》《数据结构与算法之美》《题海拾贝》《C++修炼之路》

1、题目

2、题解

cpp 复制代码
#include<iostream>
using namespace std;
const int N = 15;
int a[N][N];
bool st1[N][N], st2[N][N], st3[N][N][N];
bool dfs(int i,int j)
{
	if (j == 9)
	{
		i++;
		j = 0;
	}
	
	if (i == 9) return true;
	if (a[i][j]) return dfs(i, j + 1);//如果不等于0说明填过了

	for (int x = 1;x <= 9;x++)
	{
		if (st1[i][x] || st2[j][x] || st3[i / 3][j / 3][x]) continue;
		st1[i][x] = st2[j][x] = st3[i / 3][j / 3][x] = true;

		a[i][j] = x;
		if (dfs(i, j + 1)) return true;
		st1[i][x] = st2[j][x] = st3[i / 3][j / 3][x] = false;
		a[i][j] = 0;
	}
	return false;

}
int main()
{
	for (int i = 0;i <9;i++)
	{
		for (int j = 0;j < 9;j++)
		{
			cin >> a[i][j];
			int x = a[i][j];
			if (x)
			{
				st1[i][x] = st2[j][x] = st3[i/3][j/3][x] = true;
			}
		}
	}
	dfs(0,0);
	for (int i = 0;i < 9;i++)
	{
		for (int j = 0;j < 9;j++)
		{
			cout<< a[i][j]<<" ";
		}
		cout << endl;
	}
	return 0;
}
相关推荐
NAGNIP7 小时前
大模型框架性能优化策略:延迟、吞吐量与成本权衡
算法
美团技术团队8 小时前
LongCat-Flash:如何使用 SGLang 部署美团 Agentic 模型
人工智能·算法
Fanxt_Ja12 小时前
【LeetCode】算法详解#15 ---环形链表II
数据结构·算法·leetcode·链表
侃侃_天下12 小时前
最终的信号类
开发语言·c++·算法
茉莉玫瑰花茶13 小时前
算法 --- 字符串
算法
博笙困了13 小时前
AcWing学习——差分
c++·算法
NAGNIP13 小时前
认识 Unsloth 框架:大模型高效微调的利器
算法
NAGNIP13 小时前
大模型微调框架之LLaMA Factory
算法
echoarts13 小时前
Rayon Rust中的数据并行库入门教程
开发语言·其他·算法·rust
Python技术极客13 小时前
一款超好用的 Python 交互式可视化工具,强烈推荐~
算法