数独游戏序号:#54  难度:一般  时间限制:1000ms  内存限制:10M

描述
数独盘面是个九宫,每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次,所以又称"九宫格"。 一个合法的数独棋盘满足上面的条件,即1-9每个数字在每一行、每一列和每一宫中都只出现一次,而并不要求一定有解。 请判断给出的数独棋盘是否合法。
举例: 有一个数独棋盘如下:
5 3 - - 7 - - - -
6 - - 1 9 5 - - -
- 9 8 - - - - 6 -
8 - - - 6 - - - 3
4 - - 8 - 3 - - 1
7 - - - 2 - - - 6
- 6 - - - - 2 8 -
- - - 4 1 9 - - 5
- - - - 8 - - 7 9
它是一个合法棋盘,输出true。

输入
从左到右从上到下,使用空格分隔每一宫,使用逗号分隔每一格,没有数字则代表该格为空。

输出
true或false表示该数独棋盘是否合法。

输入样例
5,3,-,6,-,-,-,9,8 -,7,-,1,9,5,-,-,- -,-,-,-,-,-,-,6,- 8,-,-,4,-,-,7,-,- -,6,-,8,-,3,-,2,- -,-,3,-,-,1,-,-,6 -,6,-,-,-,-,-,-,- -,-,-,4,1,9,-,8,- 2,8,-,-,-,5,-,7,9
5,3,-,6,-,-,-,9,8 -,7,-,1,9,5,-,-,- -,-,-,-,-,-,-,6,- 8,-,-,4,-,-,7,-,- -,6,-,8,-,3,-,2,- -,-,3,-,-,1,-,-,6 -,6,-,-,-,-,-,9,- -,-,-,4,1,9,-,8,- 2,8,-,-,-,5,-,7,9

输出样例
true
false

#include<iostream>
using namespace std;
int main()
{char a[9][9];int b[9][9],d[9][9],c[10]={0},i=0,m=0,s[10]={0},j,z,k;char t;while(cin>>a[i][0]>>t>>a[i][1]>>t>>a[i][2]>>t>>a[i][3]>>t>>a[i][4]>>t>>a[i][5]>>t>>a[i][6]>>t>>a[i][7]>>t>>a[i][8]){for(j=0;j<9;j++){if(a[i][j]>='1'&&a[i][j]<='9'){b[i][j]=a[i][j]-'0';}else{b[i][j]=0;}}i++;}for(i=0;i<9;i++){for(j=0;j<9;j++){d[j/3+3*(i/3)][j%3+(i%3)*3]=b[i][j];}}for(i=0;i<9;i++){for(j=0;j<9;j++){c[d[i][j]]++;}for(j=1;j<=9;j++){if(c[j]>=2){m=1;break;}}if(m==1)break;for(j=1;j<=9;j++){c[j]=0;}}if(m==0){for(i=0;i<9;i++){for(j=0;j<=9;j++){c[j]=0;}for(j=0;j<9;j++){c[d[j][i]]++;}for(j=1;j<=9;j++){if(c[j]>=2){m=1;break;}}if(m==1)break;}if(m==0){for(i=0;i<7;i+=3){for(j=0;j<7;j+=3){for(z=0;z<=9;z++){s[z]=0;}for(z=i;z<=i+2;z++){for(k=j;k<=j+2;k++){s[d[z][k]]++;}}for(z=1;z<=9;z++){if(s[z]>=2){m=1;break;}}if(m==1)break; }if(m==1)break;  }if(m==0){cout<<"true"<<endl;}else{cout<<"false"<<endl;} }else{cout<<"false"<<endl;}}else{cout<<"false"<<endl;}return 0;
}

小米OJ 54(数独游戏)相关推荐

  1. python数独游戏源代码100行_python实现解数独程序代码

    偶然发现linux系统附带的一个数独游戏,打开玩了几把.无奈是个数独菜鸟,以前没玩过,根本就走不出几步就一团浆糊了. 于是就打算借助计算机的强大运算力来暴力解数独,还是很有乐趣的. 下面就记录一下我写 ...

  2. C语言学习 数独游戏

    摘要:花了1周多时间学习了C语言,开始练手写解数独游戏的程序. C语言学习 数独游戏 作者:乌龙哈里 时间:2015-11-22 平台:Window7 64bit,TCC 0.9.26(x86-64 ...

  3. c++数独游戏2.1

    增加了三张地图,增加了闯关模式,增加了一些细节,希望大家能满意. #include<iostream> #include<ctime> #include<conio.h& ...

  4. c++数独游戏2.0

    增加了主界面,修改了一些bug #include <iostream> #include<ctime> #include<conio.h> #include< ...

  5. c++数独游戏3.3

    用了制表符来制作框架.对了,先给大家科普一下制表符的寻找方法吧 1.点击软键盘 2. 选择特殊符号 3. 输入制表符 完成!!! 代码 #include<iostream>//输入输出用的 ...

  6. c++数独游戏3.0

    最近更新了数独游戏 1:使玩家的游戏记录可以存档 2:修复了闯关时输入第十关会错误的bug 3:换了输出颜色的程序(感谢饼干) #include<iostream> #include< ...

  7. c++数独游戏3.2

    又更新了一下数独 1:增加了计时功能 2:修改了存档功能 代码: #include<iostream> #include<ctime> #include<conio.h& ...

  8. c++数独游戏3.1

    修改了主界面 代码: #include<iostream> #include<ctime> #include<conio.h> #include<fstrea ...

  9. 小米oj #4 最长连续数列

    小米oj #4 最长连续数列 题目链接 描述 输入一个乱序的连续数列,输出其中最长连续数列长度,要求算法复杂度为 O(n) . 输入 54,55,300,12,56 输出 3 输入样例 100,4,2 ...

最新文章

  1. linux网页跳转代码,自动识别PC与移动网页跳转代码
  2. c malloc 头文件_C 数据类型
  3. 第四范式先知(Sage)率先通过欧盟GDPR认证
  4. wxWidgets:wxTreeListCtrl类用法
  5. kirin710f是什么处理器_麒麟710a与麒麟710f哪个好?对比区别哪款性能更好一些
  6. Android 中基本图像绘制
  7. HDU6218 2017ACM/ICPC亚洲区沈阳站 Bridge(Set,线段树)
  8. 数据结构与算法汇总详解(一)
  9. 计算机学科 集体备课记录,信息技术学科组集体备课活动记录.pdf
  10. 2021年必备procreate笔刷推荐下载
  11. H3C AC:短信认证配置
  12. [渝粤教育] 南京师范大学 中国古代文学(一) 参考 资料
  13. QT FOR 安卓动态旋转屏幕
  14. php实现用户登录、注册以及修改功能(附加源码~)
  15. 手机网页版微信分享以及微信授权
  16. 网站漏洞修复之最新版本UEditor漏洞
  17. 流程表结构设计第二版
  18. python处理期货数据_用python中的Pandas库实现一个商品期货网格策略
  19. python指纹识别_python之图片指纹(唯一性的)
  20. 可视化分析工具Qlik进阶

热门文章

  1. 系统安全与应用【上】
  2. DataMatrix二维码识别 Halcon 同类软件 Malcon 机器视觉软件 案例讲解 FindDataCode2d
  3. Win10任务栏图标无法右键/取消固定
  4. c语言原地转10圈,[出圈]-题解(C语言代码)
  5. 机器学习中的数学——常用概率分布(二):范畴分布(Multinoulli分布)
  6. OC / Swift / Xcode - 怎么私有化init 方法(禁止调用init方法生成对象)
  7. android4.1 l36h,索尼L36h
  8. docker是干什么的,docker常用命令每日一练
  9. Unity------Bounds
  10. android x86怎么装驱动,mt65xx android phone驱动怎么安装【图文教程】