博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[模拟]验证数独
阅读量:4502 次
发布时间:2019-06-08

本文共 1479 字,大约阅读时间需要 4 分钟。

思考

把每行的数累加 结果不为45 输出Wrong 

把每列的数累加 结果不为45 输出Wrong

把3X3区块的数累加 结果不为45输出 Wrong 再判断一遍 3X3的格子中1-9是否都出现 没有则输出Wrong 细节比较多。

而且格式输出真的毒瘤,硬性输出换行符,不输出就PE。还有记得每次初始化数组 WA了半小时在这种水题上面。惭愧惭愧!

 

#include 
#include
int map[20][20],fx[233],fy[233];bool clock(int i,int j){ int tot=0; int fuck[10]; memset(fuck,0,sizeof(fuck)); for(int a=i;a<=i+2;a++) for(int b=j;b<=j+2;b++){ tot += map[a][b]; fuck[map[a][b]]++; } if(tot!=45) return true; for(int k=1;k<=9;k++) if(fuck[k]==0) return true; return false;}int main(){ int n; scanf("%d",&n); while(n--){ memset(fx,0,sizeof(fx)); memset(fy,0,sizeof(fy)); bool flag=1; for(int i=1;i<=9;i++) for(int j=1;j<=9;j++){ scanf("%d",&map[i][j]); fx[i]+=map[i][j]; fy[j]+=map[i][j]; } for(int i=1;i<=9;i++) if(fx[i]!=45) { printf("Wrong\n"); flag=0; break; } for(int i=1;i<=9 && flag;i++) if(fy[i]!=45) { printf("Wrong\n"); flag=0; break; } int i=1,j=1,fuck=3; while(--fuck && flag){ if( clock(i+=3,j+=3) ){ printf("Wrong\n"); flag=0; break; } } if(flag) { printf("Right\n"); } else continue; } return 0;}

 

转载于:https://www.cnblogs.com/OIerLYF/p/6956339.html

你可能感兴趣的文章
echarts柱状图点击阴影部分触发事件
查看>>
3771: Triple
查看>>
使用PyPDF2库对pdf文件进行指定页面删除操作
查看>>
Python:yield关键字
查看>>
EasyRTSPClient:基于live555封装的支持重连的RTSP客户端RTSPClient
查看>>
EasyDarwin云存储方案调研:海康萤石云采用的是MPEG-PS打包的方式进行的存储
查看>>
MySQL巡检
查看>>
学习笔记之传说中的圣杯布局
查看>>
oh-my-zsh的使用
查看>>
共享内存的设计
查看>>
deque容器
查看>>
2017-2018-1 20155203 20155204 实验二 固件程序设计
查看>>
三方贸易-drop ship
查看>>
Android RenderScript 使用 Struct 及其下标的赋值
查看>>
【题解】BZOJ P1801 dp
查看>>
杂项-软件生命周期:软件生命周期
查看>>
小程序:小程序能力
查看>>
P1578 奶牛浴场 有障碍点的最大子矩形
查看>>
OpenCV学习:体验ImageWatch
查看>>
socket_循环接收消息
查看>>