POJ 2676 数独+dfs深搜
数独
#include "cstdio"
#include "cstring"
#include "cstdlib"
#include "iostream"
using namespace std;
#include <cstdio>
int num,v[][],map[][];///v存储需要填的位置
bool finished;
bool judge(int x,int y,int k)
{
int i,j,it,jt;
for(i=; i<; i++)
{
if(map[i][y]==k) return false;///同行同列不能有同数字
if(map[x][i]==k) return false;
}
it=(x/)*;
jt=(y/)*;
for(i=; i<; i++)///一块内数字不能相同
for(j=; j<; j++)
if(map[i+it][j+jt]==k)
return false;
return true;
} void dfs(int k)
{
if(finished) return;
if(k>=num)
{
finished =true;
for(int i=; i<; i++)
{
for(int j=; j<; j++)
printf("%d",map[i][j]);
printf("\n");
}
}
for(int i=;i<=;i++)///1到9 9个数字
{
int x=v[k][];///填第k个空
int y=v[k][];
if(judge(x,y,i))///能填吗?
{
map[x][y]=i;
dfs(k+);///下一个数
map[x][y]=;
}
}
} int main()
{
int t;
scanf("%d\n",&t);
while(t--)
{
num=;
finished =false;
char c;
for(int i=;i<;i++)
{
for(int j=;j<;j++)
{
scanf("%c",&c);
map[i][j]=c-'';
if(map[i][j]==)
{
v[num][]=i;
v[num][]=j;
num++;
}
}
getchar();
}
dfs();
}
return ;
}
POJ 2676 数独+dfs深搜的更多相关文章
- POJ 2676 数独(DFS)
Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 21612 Accepted: 10274 Specia ...
- POJ 2676 Sudoku(深搜)
Sudoku Time Limit : 4000/2000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total Submi ...
- 数独(深搜)(poj2726,poj3074)
数独(深搜)数据最弱版本(poj 2676) Description Sudoku is a very simple task. A square table with 9 rows and 9 co ...
- CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】
[编程题] 黑白树 时间限制:1秒 空间限制:32768K 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色 ...
- DFS 深搜专题 入门典例 -- 凌宸1642
DFS 深搜专题 入门典例 -- 凌宸1642 深度优先搜索 是一种 枚举所有完整路径以遍历所有情况的搜索方法 ,使用 递归 可以很好的实现 深度优先搜索. 1 最大价值 题目描述 有 n 件物品 ...
- ACM : POJ 2676 SudoKu DFS - 数独
SudoKu Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%lld & %llu POJ 2676 Descr ...
- poj 2386:Lake Counting(简单DFS深搜)
Lake Counting Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18201 Accepted: 9192 De ...
- 【DFS深搜初步】HDOJ-2952 Counting Sheep、NYOJ-27 水池数目
[题目链接:HDOJ-2952] Counting Sheep Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 ...
- DFS深搜——Red and Black——A Knight's Journey
深搜,从一点向各处搜找到全部能走的地方. Problem Description There is a rectangular room, covered with square tiles. Eac ...
随机推荐
- scrapy--Beautyleg
很早就开始关注:Beautyleg 高清丝袜美腿.关注之后开始觉得打开了新世界的大门,如果有相同观点的,那么你很有品味.说真的,学习爬虫的动力之一就是想把里面的图片爬取下来.哈哈哈!!! 给大家放点爬 ...
- Windows下安装Python数据库模块--MySQLdb
## 1.下载MySQLdb [去官网](http://pypi.python.org/pypi/MySQL-python/) 下载对应的编译好的版本(现在官网最新版本为1.2.5): MySQL-p ...
- php 删除指定扩展名文件
<?php /** *@param $path文件夹绝对路径 $file_type待删除文件的后缀名 *return void */ function clearn_file($path, $f ...
- 一行代码搞定checkbox全选和全不选
<!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...
- python requests第三方库详解
异常处理:try ... except ...
- spark提交运算原理
前面几天元旦过high了,博客也停了一两天,哈哈,今天我们重新开始,今天我们介绍的是spark的原理 首先先说一个小贴士: spark中,对于var count = 0,如果想使count自增,我们不 ...
- MethodTrace 生成的trace文件为空
今天我准备生成一个trace文件,看看程序卡在哪里. 一般: Debug.startMethodTracing("yuge"); Debug.stopMethodTracing() ...
- css3 3D
开通黄钻 Css3 -3D效果<!DOCTYPE html><html lang="en"><head> <meta charset=&q ...
- java中继承的概念
继承是类的三大特性之一,是java中实现代码重用的重要手段之一. java中只支持单继承,即每个类只能有一个父类. 继承表达的是is a的关系,或者说一种特殊和一般的关系. ...
- Linux忘记root密码的解决办法
这里以centos6为例: 第一步:先将系统重新启动,在读秒的时候按下任意键就会出现如下图的菜单界面: 第二步:按下『e』就能够进入grub的编辑模式,如图: 第三步:将光标移动到kernel那一行, ...