hdu Sudoku Killer
简单的dfs,主要就是每个?处填的值是否满足条件的判断。这道题感觉考察的是输出格式的控制。
#include"iostream"
#include"stdio.h"
#include"algorithm"
#include"cmath"
#include"string.h"
#include"string"
#define mx 1005
using namespace std;
int shudu[][];
int num,icase;
bool flag;
struct node
{
int x,y;
}position[mx]; bool check(int num,int cur)
{
int i,j;
for(i=;i<;i++)
{
if(i==position[cur].x) continue;
if(num==shudu[i][position[cur].y]) return false;
}
for(j=;j<;j++)
{
if(j==position[cur].y) continue;
if(num==shudu[position[cur].x][j]) return false;
}
int xx=position[cur].x,yy=position[cur].y;
xx=(xx/)*;yy=(yy/)*;
for(i=xx;i<xx+;i++)
{
for(j=yy;j<yy+;j++)
{
if(i==position[cur].x&&j==position[cur].y) continue;
if(num==shudu[i][j]) return false;
}
}
return true;
}
void dis()
{
if(icase++) cout<<endl;
for(int i=;i<;i++)
{
cout<<shudu[i][];
for(int j=;j<;j++)
cout<<' '<<shudu[i][j];
cout<<endl;
}
}
void dfs(int step)
{
if(flag) return;
if(step==num)
{
dis();
flag=true;
return;
}
for(int i=;i<=;i++)
{
if(check(i,step))
{
shudu[position[step].x][position[step].y]=i;
dfs(step+);
shudu[position[step].x][position[step].y]=;
}
}
}
int main()
{
int i,j;
icase=;
char s[];
while(scanf("%s",s)!=EOF)
{
flag=false;
num=;
if(s[]=='?')
{
position[num].x=;position[num++].y=;shudu[][]=;
}
else shudu[][]=s[]-'';
for(i=;i<;i++)
{
for(j=;j<;j++)
{
if(i==&&j==) continue;
scanf("%s",s);
if(s[]=='?')
{
position[num].x=i;position[num++].y=j;shudu[i][j]=;
}
else
{
shudu[i][j]=s[]-'';
}
}
}
dfs();
}
return ;
}
hdu Sudoku Killer的更多相关文章
- hdu 1426:Sudoku Killer(DFS深搜,进阶题目,求数独的解)
Sudoku Killer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- HDU 1426 Sudoku Killer(dfs 解数独)
传送门: http://acm.hdu.edu.cn/showproblem.php?pid=1426 Sudoku Killer Time Limit: 2000/1000 MS (Java/Oth ...
- hdu 1426 Sudoku Killer (dfs)
Sudoku Killer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- P - Sudoku Killer HDU - 1426(dfs + map统计数据)
P - Sudoku Killer HDU - 1426 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为 ...
- hdu1426 Sudoku Killer
Sudoku Killer Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total ...
- Sudoku Killer
Problem Description 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会将数独列为一个单独的项目进行 ...
- HDU1426 Sudoku Killer(DFS暴力) 2016-07-24 14:56 65人阅读 评论(0) 收藏
Sudoku Killer Problem Description 自从2006年3月10日至11日的首届数独世界锦标赛以后,数独这项游戏越来越受到人们的喜爱和重视. 据说,在2008北京奥运会上,会 ...
- HDU 6143 - Killer Names | 2017 Multi-University Training Contest 8
/* HDU 6143 - Killer Names [ DP ] | 2017 Multi-University Training Contest 8 题意: m个字母组成两个长为n的序列,两序列中 ...
- Steam 游戏 《Sudoku Universe(数独宇宙)》、《Sudoku Killer(数独杀手)》、《Sudoku Jigsaw(数独拼图)》数字位置解析 ---------C# 数独程序解析(2020年寒假小目标11)
日期:2020.02.11 博客期:151 星期二 今天,准备肝一个 C# 的数独读写工具(汇编语言也在努力学习命令方法中...),这三个游戏我早就买下了,一直放在 Steam 库里积灰,看着它的成就 ...
随机推荐
- hdu 4281(MTSP)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4281 题意:给出N个点,第一个点是裁判,其他N-1个点需要裁判过去回答问题,每个点需要的时间不一样,而 ...
- view和activity的区别
activity相当于控制部分,view相当于显示部分.两者之间是多对多的关系,所有东西必须用view来显示. viewGroup继承自view,实现了ViewManager,ViewParent接 ...
- Linux学习笔记(23) Linux备份
1. 备份概述 Linux系统需要备份的数据有/root,/home,/var/spool/mail,/etc及日志等其他目录. 安装服务的数据需要备份,如apache需要备份的数据有配置文件.网页主 ...
- ThinkPHP去重 distinct和group by
转自:http://blog.csdn.net/helencoder/article/details/50328629 近期项目中,遇到数据表去重要求,对于ThinkPHP的去重有了更加准确的认识和体 ...
- 使用openface(linux)
在github上搜索openface,clone下来; 按照requirement.txt中安装需要的项: sudo apt-get install .... sudo pip install ... ...
- delphi中VirtualStringTree树使用方法之终结篇!
VirtualStringTree 的用法详解:作者:张志宝go淘宝 例子:创建了一个树名为VirtualStringTree1,第一列显示数据库字段ID的值,标题为编号:第二列显示字段Name的值, ...
- BOM和DOM的区别和关联
BOM 1. BOM是Browser Object Model的缩写,即浏览器对象模型. 2. BOM没有相关标准. 3. BOM的最根本对象是window. 从1可以看出来:BOM和浏览器关系密切. ...
- xampp的Apache无法启动解决方法
XAMPP Apache 无法启动原因1(缺少VC运行库): 这个就是我遇到的问题原因,下载安装的XAMPP版本是xampp-win32-1.7.7-VC9,而现有的Windows XP系统又没有安装 ...
- 每天一个linux命令---useradd
1.添加用户 useradd 选项 用户名 其中各选项含义如下: -c comment 指定一段注释性描述.-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录.-g ...
- UVa 2197 & 拆点分环费用流
题意: 给你一个带权有向图,选择一些边组成许多没有公共边的环,使每个点都在k个环上,要求代价最小. SOL: 现在已经养成了这种习惯,偏题怪题都往网络流上想... 怎么做这题呢... 对我们看到每个点 ...