题意:给你一个数独,让你求出它的解

这个题是运用DFS的(很好的一道题  可以提高自己的思维能力)

哈理工也有一道数独题----     数独题

#include<set>
#include<map>
#include<queue>
#include<stack>
#include<bitset>
#include<math.h>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#define pi acos(-1)
#define close ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
using namespace std;
typedef long long ll;
const int MAX_N=1000000+50;
const int INF=0x3f3f3f3f;
const double EPS = 1e-10;
ll mod = 1e9+7;bool flag ;
int mapp[11][11];bool Check(int num,int x){int hang = num / 9;int lie = num % 9;for(int i = 0; i < 9; i++){if(mapp[hang][i] == x){return false;}}for(int i = 0; i < 9; i++){if(mapp[i][lie] == x){return false;}}int fhang = (hang / 3) * 3;int flie = (lie / 3) * 3;for(int i = fhang; i < fhang + 3; i++){for(int j = flie; j < flie + 3; j++){if(mapp[i][j] == x){return false;}}}return true;
}void dfs(int num){if(num > 80 || flag){flag = true;return ;}int hang = num / 9;int lie = num % 9;if(mapp[hang][lie] != 0){dfs(num + 1);if(flag) return;}else{for(int i = 1; i <= 9; i++){if(Check(num,i)){mapp[hang][lie] = i;dfs(num + 1);if(flag) return;mapp[hang][lie] = 0;}}}
}int main(){char s[5];while(~scanf("%s",s)){mapp[0][0] = (s[0] == '?'?0:s[0] - '0');for(int i = 1; i < 9; i++){scanf("%s",s);mapp[0][i] = (s[0] == '?'?0:s[0] - '0');}for(int i = 1; i < 9; i++){for(int j = 0; j < 9; j++){scanf("%s",s);mapp[i][j] = (s[0] == '?'?0:s[0] - '0');}}if(flag) printf("\n");  //注意  没有这个会发生PE错误 flag = false;dfs(0);for(int i = 0; i < 9; i++){for(int j = 0; j < 9; j++){if(j == 8) printf("%d\n",mapp[i][j]);else printf("%d ",mapp[i][j]);}}}return 0;
}/*********************####....#.#..###.....##....###.......######              ###            ###...........               #...#          #...###*#######                 #.#.#          #.#.#####*******######             #.#.#          #.#.#...#***.****.*###....          #...#          #...#....**********##.....           ###            ###....****    *****....####        ##########        ######
##############################################################
#...#......#.##...#......#.##...#......#.##------------------#
###########################################------------------#
#..#....#....##..#....#....##..#....#....#####################
##########################################    #----------#
#.....#......##.....#......##.....#......#    #----------#
##########################################    #----------#
#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#
##########################################    ############
*/

数独题 HDU - 1426相关推荐

  1. HDU 1426 Sudoku Killer【DFS 数独】

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

  2. 数独题的生成与解决方法

    数独题的生成与解决方法 参考文章: (1)数独题的生成与解决方法 (2)https://www.cnblogs.com/trav/p/10197907.html (3)https://www.code ...

  3. 计算机视觉 python 解图片数独题

    关键词:   sudoku      计算机视觉    数独   python 来源于于一张 视觉库 里的数独图片. 经过一段时间探索 终于识别出数字 并解出数独.转载请注明出处https://blo ...

  4. HDU 1426(数独)

    刚刚看到很多人都用DFS+剪枝做数独.. 顿时不爽了, 我家DLX 何在... 不过想想确实这个搜索剪枝真的很多,不过怎么说还是DLX 快... #include <stdio.h> #i ...

  5. 2019广工ACM校赛决赛A题:思维题 HDU 6461 zsl 和hzy的生存挑战

    2019广工校赛决赛A题.HDU 6461 http://acm.hdu.edu.cn/showproblem.php?pid=6461 题目描述 zsl 和hzy 来到了臭臭城堡,打算挑战臭臭城堡的 ...

  6. 动态规划百题 第六题 HDU - 1087

    动态规划百题计划又重新开始啦 6: E - Super Jumping! Jumping! Jumping! HDU - 1087 wsw成功的在zzq的帮助下获得了与小姐姐约会的机会,同时也不用担心 ...

  7. HDU 1426 Sudoku Killer

    数独(DFS). 非常忧伤的一道题,先是剪枝的三个数组开成[9][9]导致 越界了WA. 然后就是每两组输出之间有空行,可是最后一组后面不能输出空行.PE好多次. #include<cstdio ...

  8. 2014多校第一场A题 || HDU 4861 Couple doubi

    题目链接 题意 : 有K个球,给你一个数P,可以求出K个值,(i=1,2,...,k) : 1^i+2^i+...+(p-1)^i (mod p).然后女朋友先取,再xp取,都希望赢,如果女朋友能赢输 ...

  9. BestCoder Round #4 前两题 hdu 4931 4932

    第一题太水了.. 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include< ...

  10. 一个斐波那契数列题 HDU 2041

    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法? Input 输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1< ...

最新文章

  1. 杨辉再发声明:没有及时交流工作进展,深表歉意
  2. oracle 10g安装
  3. Linux系统Python配置MySQL详细教程
  4. postman-持续更新
  5. 怎么把一台华为路由器配置为FTP服务器?
  6. 推荐華麗の真実的小说《The★Sakuray》
  7. .net大型分布式电子商务架构说明(转载来自头条)
  8. python之字典方法
  9. 记录一下免费域名和空间
  10. 用友u8怎么导出凭证_CASE11 用友U8导入期初档案凭证批量作废编辑自动现流(5/5)...
  11. java jquery提交表单数据_[Java教程]jquery实现ajax提交表单信息
  12. 【EI 快速检索 | 九月特邀】经济与计算机多主题国际会议
  13. mysql中XtraBackup备份工作机制
  14. linux 配置 MP3 RMVB 解码器
  15. 数学原理(The Principles of Mathmatics)
  16. 输入框input或内容区域textarea中关于光标移动问题
  17. 初识c语言—学习笔记
  18. 最终解决:win10小娜无法使用(win10 win+q 无法搜索应用程序)
  19. [Stata] 分类变量画直方图(频率分布)
  20. centos7:yum -y install gcc python36-devel bzip2-devel sqlite-devel openssl-devel readline-devel xz-d

热门文章

  1. Linux QT无法切换中文输入法
  2. 洛谷P2466 [SDOI2008] Sue 的小球 题解
  3. vs2019个性化配置
  4. 网站备案信息真实性核验单
  5. 移动硬盘在mac上无法显示
  6. WTL 自绘控件库 (CQsCheckBox)
  7. 为何QQ突然能注销了?近年推行的大好事知多少
  8. 【百度春招】 买帽子
  9. RK987蓝牙键盘使用说明书分享
  10. iOS基础 关于UIKit框架