数独

#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. html之table&select不为人知的操作

    table标签和其它标签不一样,他有属性和方法! table属性: rows      可以得到table的row集合 cells      得到table所有单元格 table方法: insertR ...

  2. 裸机——SD卡

    1.首先要对SD卡有个基础知识 (1) SD = nandflash + 主控IC. 主控IC负责了校验和坏块管理,所以SoC只需要依照时序就可以和SD卡上的主控IC进行数据交换等操作. (2) SD ...

  3. 将Mnist手写数字库转化为图片形式 和标签形式

    Mnist 数据文件有两种,一种是图片文件,一种是标签文件,那么如何把他们解析出来呢? (1)解析图片文件 可以看出在train-images.idx3-ubyte中,第一个数为32位的整数(魔数,图 ...

  4. 包围轮廓的矩形边界 opencv

    #include<opencv2/opencv.hpp> #include<iostream> using namespace std; using namespace cv; ...

  5. Android面试收集录18 Android Context详解

    Activity mActivity =new Activity() 作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言 ...

  6. Spring---BeanFactory与ApplicationContext简介

    BeanFactory概念 Spring通过一个配置文件描述bean和bean之间的依赖关系,然后利用java语言的反射功能实例化bean,并建立bean之间的依赖关系.Spring的IOC容器在完成 ...

  7. android gradle.properties

    gradle.properties 里面配置的东西,在gradle 文件里面可以直接引用. 例如: 在你工程根目录的gradle.properties 文件里面 可以这样配置: ## Project- ...

  8. The GNU C Library

    Any Unix-like operating system needs a C library: the library which defines the ``system calls'' and ...

  9. centos使用--软件启动关闭等操作的命令

    关于centos服务的命令经常会遇到这几种 service systemctl /etc/init.d/ 1 service和/etc/init.d/ service是一个脚本命令,分析service ...

  10. Github前端项目排名

      Github前端项目排名(2016-04-04) 一.前言 近几年前端技术日新月异,从 RequireJS 到 AngularJS 再到 React,似乎每天都有新的技术诞生.而大神们总能第一时间 ...