ZCMU-1597-TomCat的数独
2017-02-05 14:44
246 查看
1597: TomCat的数独
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 32 Solved: 17
[Submit][Status][Web
Board]
Description
都说了TomCat是一只有文化的Cat你还不信。很久很久以前TomCat就喜欢上了数独游戏。游戏规则是这样的,在一个9*9的矩阵里面每一行每一列都由1,2,3,4,5,6,7,8,9这9个数构成,而且每一个3*3的小矩阵里也由1,2,3,4,5,6,7,8,9这9 个数构成(如下图)。然而TomCat是一只学渣,所以…….你懂的
。
Input
第一行输入一个T,表示数据组数。接下来输入9*9的矩阵,未知的单位用0表示。(数据保证有唯一结果)
Output
输出运行结果,格式如下Sample Input
10 4 6 0 0 1 0 0 0
7 9 0 3 5 0 6 0 1
0 0 5 0 9 0 3 2 4
0 0 0 0 8 0 4 0 5
0 3 0 2 1 5 0 0 0
5 8 9 0 0 0 0 7 2
2 0 0 6 0 9 5 1 0
1 0 8 5 0 2 0 0 0
0 5 3 0 4 0 2 0 7
Sample Output
3 4 6 8 2 1 7 5 97 9 2 3 5 4 6 8 1
8 1 5 7 9 6 3 2 4
6 2 1 9 8 7 4 3 5
4 3 7 2 1 5 8 9 6
5 8 9 4 6 3 1 7 2
2 7 4 6 3 9 5 1 8
1 6 8 5 7 2 9 4 3
9 5 3 1 4 8 2 6 7
HINT
TomCat考虑可以把每一个格子的可能的数字和不可能的数字都列出来与每一行每一列和所在小矩阵进行比较得出结果。【解析】
这道题要注意的是每一列每一行的的那9个数字都必须不一样还有就是在9*9的格子当中的每一个从头开始数的九个3*3的格子中的每一个数也要求不一样。这道题其实和八皇后问题很相似,这里的输入9*9的方格的时候0代表这个数没有确定,而如果非0则表示那个数不用动了,所以我们递归搜索下去就好了,还是感觉自己不行...不算难的题也想不到还要靠别人的提醒...
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int a[9][9]; int check(int x,int y,int k) { int p,q,i,j; p=(x/3)*3;//表示是哪一个3*3的矩阵 q=(y/3)*3; for(i=0;i<9;i++) { if(a[x][i]==k||a[i][y]==k)//判断那一列或者那一排当中有没有一样的 return 0; } for(i=p;i<p+3;i++) { for(j=q;j<q+3;j++) { if(a[i][j]==k)//判断那个3*3的矩阵 return 0; } } return 1; } void facs(int now) { int p,q,i,j; p=now/9; q=now%9; if(now==81) { for(i=0;i<9;i++) { for(j=0;j<9;j++) { if(j==0) printf("%d",a[i][j]); else printf(" %d",a[i][j]); } printf("\n"); } return; } if(a[p][q]!=0) facs(now+1);//表示这个数不能改了 else { for(i=1;i<10;i++) { if(check(p,q,i)) { a[p][q]=i; facs(now+1); a[p][q]=0; } } } } int main() { int t,i,j; scanf("%d",&t); while(t--) { for(i=0;i<9;i++) { for(j=0;j<9;j++) { scanf("%d",&a[i][j]); } } facs(0); } return 0; }
相关文章推荐
- ZCMU—1597
- Tomcat不启动的原因
- Tomcat源码学习(7)-How Tomcat works(转)
- The Apache Tomcat Native library which allows optimal performance
- tomcat移动位置后相关问题解决方案
- Tomcat和Websphere的区别
- linux下添加tomcat服务
- eclipse启动tomcat无法访问报404
- 结合Apache和Tomcat实现集群和负载均衡
- JMX实现远程服务器Tomcat系统监控之一
- tomcat的好文章
- https原理及tomcat配置https方法
- nginx均衡多tomcat环境配置,及这种环境下的remoteIp及ServerName获取方式
- Apache httpd与tomcat集群
- tomcat服务器启动不起来
- linux安装tomcat8出现cannot touch ‘/usr/local/tomcat8/logs/catalina.out’
- web应用部署到tomcat上
- 1 SOLR1:solr4.10.1 tomcat6 jdk8部署
- CentOS6.5中安装tomcat