数独

#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深搜的更多相关文章

  1. POJ 2676 数独(DFS)

    Sudoku Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 21612   Accepted: 10274   Specia ...

  2. POJ 2676 Sudoku(深搜)

    Sudoku Time Limit : 4000/2000ms (Java/Other)   Memory Limit : 131072/65536K (Java/Other) Total Submi ...

  3. 数独(深搜)(poj2726,poj3074)

    数独(深搜)数据最弱版本(poj 2676) Description Sudoku is a very simple task. A square table with 9 rows and 9 co ...

  4. CodeM美团点评编程大赛初赛B轮 黑白树【DFS深搜+暴力】

    [编程题] 黑白树 时间限制:1秒 空间限制:32768K 一棵n个点的有根树,1号点为根,相邻的两个节点之间的距离为1.树上每个节点i对应一个值k[i].每个点都有一个颜色,初始的时候所有点都是白色 ...

  5. DFS 深搜专题 入门典例 -- 凌宸1642

    DFS 深搜专题 入门典例 -- 凌宸1642 深度优先搜索 是一种 枚举所有完整路径以遍历所有情况的搜索方法 ,使用 递归 可以很好的实现 深度优先搜索. 1 最大价值 题目描述 ​ 有 n 件物品 ...

  6. ACM : POJ 2676 SudoKu DFS - 数独

    SudoKu Time Limit:2000MS     Memory Limit:65536KB     64bit IO Format:%lld & %llu POJ 2676 Descr ...

  7. poj 2386:Lake Counting(简单DFS深搜)

    Lake Counting Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 18201   Accepted: 9192 De ...

  8. 【DFS深搜初步】HDOJ-2952 Counting Sheep、NYOJ-27 水池数目

    [题目链接:HDOJ-2952] Counting Sheep Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  9. DFS深搜——Red and Black——A Knight&#39;s Journey

    深搜,从一点向各处搜找到全部能走的地方. Problem Description There is a rectangular room, covered with square tiles. Eac ...

随机推荐

  1. PHP生成特定长度的纯字母字符串

    PHP中,md5().uniqid()函数可以返回32位和13位不重复的字符串,但是这些字符串都可能包含有数字.如果需要纯字母的字符串,而且长度不定,比如8位,那么直接用这两个函数无法达到效果. 这时 ...

  2. php扩展开发-资源类型

    资源类型在内核中的结构 //zend_list.h typedef struct _zend_rsrc_list_entry { void *ptr; int type; int refcount; ...

  3. [BZOJ4196]软件包管理器(树链剖分)

    [BZOJ4196] install x-> 询问根节点到x路径上0的个数,然后全变1 uninstall x-> 询问x子树(包括x)中1的个数,然后全边0 Code #include ...

  4. Kings(状压DP)

    Description 用字符矩阵来表示一个8x8的棋盘,'.'表示是空格,'P'表示人质,'K'表示骑士.每一步,骑士可以移动到他周围的8个方格中的任意一格.如果你移动到的格子中有人质(即'P'), ...

  5. NumPy库入门

    ndarray数组的元素类型 ndarray数组的创建 ndarray数组的操作 ndarray数组的运算

  6. Linux命令、权限

    一.新建用户natasha,uid为1000,gid为555,备注信息为“master”: groupadd -g 555 natasha useradd -u 1000 -g 555 -c mast ...

  7. 创建、导入、导出、复制以及粘贴 WMI 筛选器

    TechNet 库 Deployment Forefront Identity and Access Management 基础结构优化 浏览器 Microsoft Dynamics Products ...

  8. PQFitness

    <html> <head> <title></title> <style> *{margin:o;padding:0;} #header{ ...

  9. 通过学习制作长微博工具来了解水印的制作,及EditText中的内容在图片中换行显示

    长微博工具非常有用,140字的要求可能阻止你写更多的内容,于是长微博工具应运而生,虽然网上有很多长微博工具,但是我都不是很满意,所以自己想做一个,通过做这个长微博工具,我学习到了很多东西,有两个难点, ...

  10. 底部菜单栏之Fragment的详细介绍和使用方法

    详情请看:http://blog.csdn.net/loongggdroid/article/details/9366413