题目:http://acm.hdu.edu.cn/showproblem.php?pid=1426

 #include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
char map[][];
bool row[][],list[][];
int pos[*][];
int k; int check(int v,int num)//第V个?上替换num值
{
int n,m;
if(pos[v][]>= && pos[v][]<=)
n=;
if(pos[v][]>= && pos[v][]<=)
n=;
if(pos[v][]>= && pos[v][]<=)
n=;
if(pos[v][]>= && pos[v][]<=)
m=;
if(pos[v][]>= && pos[v][]<=)
m=;
if(pos[v][]>= && pos[v][]<=)
m=;
for(int i=n;i<n+;i++)
{
for(int j=m;j<m+;j++)
{
if(map[i][j] == num+'')
return ;
}
}
return ;
}
int dfs(int v)//从第0个?开始查找
{
int i;
if(v==k)//如果全部找到返回1
return ;
for(i=;i<=;i++)
{
if(!row[pos[v][]][i] && !list[pos[v][]][i] && check(v,i))//判断同行、同列和九宫格
{
row[pos[v][]][i]=true;
list[pos[v][]][i]=true;
map[pos[v][]][pos[v][]]=i+'';
if(dfs(v+))
return ;
row[pos[v][]][i]=false;
list[pos[v][]][i]=false;
map[pos[v][]][pos[v][]]='?';
}
}
return ;
}
void Output()
{
for(int i=;i<=;i++)
{
printf("%c",map[i][]);
for(int j=;j<=;j++)
{
printf(" %c",map[i][j]);
}
printf("\n");
}
return ;
} int main()
{
int sum=;//格式问题
//freopen("in.txt","r",stdin);
while()
{
memset(row,false,sizeof(row));
memset(list,false,sizeof(list));
k=;
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)
{
if(!(cin >> map[i][j]))
exit();
if(map[i][j]=='?')
{
pos[k][]=i;//记录?的x和y
pos[k++][]=j;
continue;
}
row[i][map[i][j]-'']=true;//记录同行出现的数
list[j][map[i][j]-'']=true;//记录同列出现的数
}
}
dfs();
//printf("%d\n",k);
if(sum++)
printf("\n");
Output(); }
return ;
}

hdu 1426 Sudoku Killer的更多相关文章

  1. HDU 1426 Sudoku Killer(dfs 解数独)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1426 Sudoku Killer Time Limit: 2000/1000 MS (Java/Oth ...

  2. hdu 1426:Sudoku Killer(DFS深搜,进阶题目,求数独的解)

    Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  3. hdu 1426 Sudoku Killer (dfs)

    Sudoku Killer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  4. HDU 1426 Sudoku Killer(搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1426 题意很明确,让你解一个9*9的数独. DFS即可. #include <cstdio> ...

  5. HDU 1426 Sudoku Killer【DFS 数独】

    自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行比赛,冠军将有可能获得的一份巨大的奖品— ...

  6. hdu 1426 Sudoku Killer ( Dancing Link 精确覆盖 )

    利用 Dancing Link 来解数独 详细的能够看    lrj 的训练指南 和 < Dancing Links 在搜索中的应用 >这篇论文 Dancing Link 来求解数独 , ...

  7. HDU 1426 Sudoku Killer (回溯 + 剪枝)

    本文链接:http://i.cnblogs.com/EditPosts.aspx?postid=5398818 题意: 给你一个 9*9 的矩阵,同一行相邻的两个元素用一个空格分开.其中1-9代表该位 ...

  8. HUD 1426 Sudoku Killer (DFS)

    链接 : Here! 思路 : 记录下所有 "?" , 出现的位置, 然后 $DFS$ 一下, 对于每个位置来说都可以填充 $9$ 种数值, 然后对于判断填充是否合法需要三个标记数 ...

  9. P - Sudoku Killer HDU - 1426(dfs + map统计数据)

    P - Sudoku Killer HDU - 1426 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为 ...

随机推荐

  1. ADO.NET笔记——使用DataAdapter执行增删改操作

    相关知识: DataSet中的数据一旦从数据库下载下来,便不再与数据库保持联系.如果修改了DataSet中的数据,需要重新建立连接,并且通过SQL命令将修改更新到数据库去 编写SQL命令往往比较繁琐和 ...

  2. jexus 配置 学习

    http://www.linuxdot.net/ 1.禁止或允许某IP或IP段访问网站 A.只允许某些IP地址访问网站(白名单功能) 默认情况下,允许所有IP地址访问.如果手工设置IP地址白名单, 那 ...

  3. MemProof教程

    简介 MemProof(内存清道夫)是AutomatedQA出品的一款非常不错的检测内存泄漏和资源泄漏的免费调试工具,适合于WIN32平台下使用DELPHI/C++ BUILDER开发的应用程序. 利 ...

  4. 自改xss小平台上线

    原先一直用xss.hk结果不知怎么被关的,正好手上有代码于是自己搭了一个,网上的类似的xss平台大多一样,原先的xss的chrome插件,不适合 "manifest_version" ...

  5. MyEclipse管理部署Maven项目 供调试

    今天对Maven的一个项目弄到头大,用MyEclipse10.x做了半天都没有部署成功. 后来发现用maven自己的maven4myelipse插件配置一下Goals:tomcat:run就好了,其他 ...

  6. ios里的UIActionSheet的使用

    class ViewController: UIViewController,UIActionSheetDelegate{ @IBOutlet weak var label1: UILabel! @I ...

  7. 在后台直接调用sql

    表:FmCashStatistics EFContext db = new EFContext(); string strsql = "SELECT org_info_id,customer ...

  8. 深度分析 Java 的 ClassLoader 机制(源码级别)

    写在前面:Java中的所有类,必须被装载到jvm中才能运行,这个装载工作是由jvm中的类装载器完成的,类装载器所做的工作实质是把类文件从硬盘读取到内存中,JVM在加载类的时候,都是通过ClassLoa ...

  9. 微软职位内部推荐-Sr. Dev Lead

    微软近期Open的职位: JD 如果你想试试这个职位,请跟我联系,我是微软的员工,可以做内部推荐.发你的中英文简历到我的邮箱:Nicholas.lu.mail(at)gmail.com

  10. sharepoint 认证

    MCPD http://www.microsoft.com/learning/en/us/mcpd-certification.aspx#fbid=YktyKIYXeFg Exam 70-573: T ...