洛谷P1784_数独游戏

蒟蒻用c++搓出了可视化数独求解! 蒟蒻的数独创意 阅读详情
#include <cstdio>
#include <cstdlib>

using namespace std;

int a[9][9];

int dfs(int m);
bool canplace(int row, int col, int num);
void output();

int main()
{
	int i, j;
	for(i = 0; i < 9; i ++)
		for(j = 0; j < 9; j ++)
            scanf("%d", &a[i][j]);
	dfs(0);
	return 0;
}

bool canplace(int row, int col, int num)
{
	int i, j, trow, tcol;
	trow = row / 3 * 3;//找到在该小方格的左上方格子
	tcol = col / 3 * 3;
	for(i = 0; i < 9; i ++)//行列无冲突
		if(a[row][i] == num || a[i][col] == num)
            return 0;
	for(i = 0; i < 3; i ++)//小方格内无冲突
		for(j = 0; j < 3; j ++)
			if(a[trow + i][tcol + j] == num)
				return 0;
	return 1;
}

void output()
{
	for(int i = 0; i < 9; i ++)
		for(int j = 0; j < 9; j ++)
			printf("%d%c", a[i][j], j==8?'\n':' ');
	exit(0);
}

int dfs(int m)//rol = m / 9; col = m % 9;
{
	int row = m / 9;
	int col = m % 9;
	if(m == 81) output();
	if(a[row][col] > 0) dfs(m + 1);//如果是题目已知的点,则放下一个
	else
	{
		for(int i = 1; i <= 9; i++)
			if(canplace(row, col, i))
			{
				a[row][col] = i;
				dfs(m + 1);
				a[row][col] = 0;//回溯
			}
	}
}


洛谷P1784数独(递归+搜索) 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1−9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。 阅读详情

相关推荐

归因分析计算因子贡献度常见的方法

在归因分析中,我们一般都需要计算出每个因子的贡献度是多少,比如产品DAU上升,对年龄段维度进行拆解,看是不同年龄段的用户对DAU上升的贡献度是多少,一般根据指标的类型,计算贡献度的方法也不一样,下面就列出一些常见的归因分析贡献度的计算方法。

Hubans的博客 4万+

P1784 数独(DFS)

题目描述 数独是根据 9×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1−9 ,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。 这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。 据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一

qq_43738331的博客 544

基础矩阵、本质矩阵、单应矩阵

基础矩阵是一个 3×3 的秩为2的矩阵,用于描述两个不同视图(或称为图像)之间对应点的几何约束。更具体地说,如果你有两幅图像,分别从两个不同的相机或者相机位置拍摄,那么基础矩阵可以用于找到一个图像中的点在另一个图像中的对应点。本质矩阵也是一个 3×3 的秩为2的矩阵,与基础矩阵非常类似。当两个视图(图像)之间的场景是一个平面或者两个视图之间仅有旋转和平移时,可以使用单应矩阵来关联这两个视图。这三个矩阵都是在计算机视觉中广泛应用的基础工具,但它们适用于不同类型的视图和场景。给定两个图像中的一对对应点。

Gloamirror的博客 1328

P1784 数独

据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一,可以说是所以数独游戏中,难度最高的等级。他还表示,他目前还没遇到解不出来的数独游戏,因此他认为“最具挑战性”的数独游戏并没有出现。数独是根据 9×99×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1−91−9 ,不重复。3.思路:行列同时为层,列走到头就换行,分支为可以选择的九个数,如果行/列/九宫格的位置上已经有数了,就找下一个。

2301_82112557的博客 480

Halcon与C#联合编程(一):使用S7协议实现机器视觉上位机与西门子PLC联动

本项目技术栈:C#基础,多线程,Halcon DirectShow,Halcon形状检测,Halcon QR码识别,西门子S7通讯协议,西门子PLC为核心的下位机及执行元件

虎鲸不是鱼 1万+

微生物组β-多样性——PCoA分析及可视化

让你的数据映入眼帘

qq_47369980的博客 1万+

P1784数独(dfs)

数独 题目传送门 解题思路 这题就是dfs搜索 AC代码 #include<cstdlib> #include<cstdio> using namespace std; int a[10][10],b[10][10],c[10][10],ans[10][10]; int sum(int x,int y) { return (x-1)/3*3+(y-1)/3+1; } void print() { for(int i=1;i<=9;i++,printf("\n")) f

我很菜的好吧 298

FIddler+Proxifer 实现PC客户端抓包详细教程

FIddler+Proxifer 实现PC客户端抓包详细教程

森明帮大于黑虎帮的博客 1万+

算法-洛谷-P1784 数独

题目描述 数独是根据 9×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1−9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 题目来源于洛谷网,网址https://www.luogu.com.cn/problem/P1784。 此题为典型的**深度优先搜索(DFS)**题目,同时用到回溯的思想,大体思路是从第一个空格开始,不断递归搜索,一直搜索到最后一个空格即可。 代码如下: #include &lt

迢遥的呼唤的博客 450

python docx设置标题中文字体rPr.rFonts.set(qn(‘w:eastAsia‘),u‘黑体‘),报错‘NoneType‘ object has no attribute ‘set‘

一、我的代码: 因为要编一个报告自动化生成的代码,所以用了python docx,在设置标题自己写了一段代码,要求将标题设置成:一级标题 黑体 小四 from docx import Document from docx.oxml.ns import qn from docx.shared import Pt def add_Head(document, level, text, font, size): # document word对象 # level 几级标题 # text 标题内容 # f

qq_40272386的博客 8854

SAPFiori Elements Analytical List Page 概述

ALP(Analytical List Page)是SAP Fiori提供的一种复合页面类型,结合了分析(图表/KPI)与事务(表格/操作)功能,适用于需要分析后立即执行处理的业务场景(如采购价格监控、销售逾期处理等)。其核心价值在于让用户在同一页面完成从数据洞察到事务处理的闭环,减少应用切换带来的效率损耗。 页面结构包含页头KPI标签、交互式图表和明细表格,通过联动过滤、选择同步等机制实现数据钻取与即时操作。支持标准过滤和可视化过滤,并依赖OData注解(SelectionVariant/Presenta

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 269

洛谷P1784数独dfs

对于行、列中出现过的数,设置一个布尔变量。   在这里可以用flag记录当前已放置数字的个数,每次放一个flag就++,这样当flag=9*9(81)时,说明已经放满了,输出即可。 代码如下: #include using namespace std; int flag=0; int num[9][9]={0};//存放原始数据 int x[9][9]={0};//标记这一行是否有重复的 int y[9][9]={0};//标记这一列是否有重

simba_2011的博客 1152

路径规划 | 图解RRT*算法(附ROS C++/Python/Matlab仿真)

RRT*算法针对传统RRT算法进行了渐进最优改进,在添加节点到搜索树的过程中进行重连选择。本文图解RRT*算法原理,并采用ROS C++、Python、Matlab三种语言实现算法,加深理解

FRIGIDWINTER的博客 9405

2021.12.12 学习笔记

今日学习内容:搜索 分享一个题目的解题过程(有批注) 数独游戏 洛谷题号https://www.luogu.com.cn/problem/P1784 //数独游戏 洛谷题号https://www.luogu.com.cn/problem/P1784 //date:2021/12/12 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #in.

Duan_haoran的博客 2043

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

洛谷 P1784 数独

题目传送门 解题思路: 跟八皇后很相似,区别在于本题不用记录斜线,但是要记录每个宫格,在每个位置上都要填数. AC代码: 1 #include<cstdio> 2 #include<iostream> 3 #include<cstdlib> 4 5 using namespace std; 6 7 int a[...

anshuo0835的博客 266

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

P1784 数独(洛谷)

a[10][10]:保存数独中的数k:暂时保存相应a[i][j]所保存的数f1[10][10]:标记每行中每个数字是否出现f2[10][10]:标记每列中每个数字是否出现f3[5][5][10]:标记每九宫格中每个数字是否出现。

Just_Like_This_T的博客 1029

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

洛谷P1784 数独

/a来记录数据,f1,f2,f3用来标记此行、此列、此九宫格用过的数。

fxsvfd的博客 560

洛谷 P1784 ——数独

题目描述 数独是根据 9×99×99×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1−91 - 91−9,不重复。 每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。 这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。 据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。 不过这位数学家说,他

六级不考550+不改名 643

洛谷P1784 数独题解(DFS解法)

这道题很显然要用DFS(深度优先搜索) 注:有其它方法也可以,不过我这里用的是DFS。 题目描述 数独是根据 9×9 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1−9 ,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。 这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。 据介绍,目前数独游戏的难度的等级

qq_52758563的博客 1888

洛谷题目---P1784 数独

题目描述 数独是根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含1-9,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。 芬兰一位数学家号称设计出全球最难的“数独游戏”,并刊登在报纸上,让大家去挑战。 这位数学家说,他相信只有“智慧最顶尖”的人才有可能破解这个“数独之谜”。 据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一,可以说

皓月南游的博客 398

洛谷P1784数独 题解

这是一道简单的深搜题,定义3个数组标记每行、列、宫有没有出现过x,然后深搜+回溯就可以了。本蒟蒻的第一篇题解↑。

oier_sjy的博客 845

洛谷 P1784 数独 ——抽象深搜;

数独是根据 $9 \times 9$ 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 $1 - 9$ ,不重复。每一道合格的数独谜题都有且仅有唯一答案,推理方法也以此为基础,任何无解或多解的题目都是不合格的。据介绍,目前数独游戏的难度的等级有一到五级,一是入门等级,五则比较难。不过这位数学家说,他所设计的数独游戏难度等级是十一,可以说是所以数独游戏中,难度最高的等级。他还表示,他目前还没遇到解不出来的数独游戏,因此他认为“最具挑战性”的数独游戏并没有出现。

m0_72522122的博客 238
上一篇: 洛谷P1602_bfs+同余定理
下一篇: 洛谷P1379_八数码游戏
CoderCat.
博客等级 码龄9年 8粉丝 111原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值