数独

#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 ;
}

最新文章

  1. Javascript之confirm的用法
  2. oracle数据库函数之============‘’分析函数和聚合函数‘’
  3. MSSQLSERVER服务无法启动的解决方案
  4. js中的变量小例子
  5. TEXshade教程- 多重比对着色软件包
  6. JQuery Jsonp 跨域
  7. CSRF的防御实例(PHP)
  8. Python 字符串处理大全.
  9. Cocos2d-x单机游戏防八门神器修改数据
  10. Unity3D脚本中文系列教程(八)
  11. php实现调用微信上传照片然后保存至服务器与数据库
  12. Subline Text默认设置文件Preferences.sublime-settings—Default详解
  13. JQUERY1.9学习笔记 之属性选择器(一) 前缀选择器
  14. pcl1.7.2_vs2013_x64工程配置
  15. windows下安装DB2数据库以及使用Aqua Data Studio链接数据库
  16. PHP面向对象和面向过程
  17. SQL 概述
  18. Winform开发框架中的综合案例Demo
  19. [C++]Linux之头文件sys/types.h[/usr/include/sys]
  20. oracle 如何查看oracle数据库版本

热门文章

  1. (转)IDE 而言,是 Xcode 的技术比较先进还是 Visual Studio?
  2. 解决scp命令pemission denied,please try again的问题
  3. PLC状态机编程第四篇-历史状态处理
  4. 爬虫之urllib模块
  5. 华为模拟器ensp代码错误2,41,40问题的解决
  6. 准备篇(二)C语言
  7. C# 设置窗口大小为不可调、取消最大化、最小化窗口按键
  8. MySQL忘记密码怎么重置
  9. Android Kotlin 连接 http
  10. 3714: [PA2014]Kuglarz