shudupoj2676
#include<stdio.h> int num,v[100][2],map[10][10]; bool judge(int x,int y,int k) { int i,j,it,jt; for(i=0;i<9;i++) { if(map[i][y]==k) return false; if(map[x][i]==k) return false; } it=(x/3)*3; jt=(y/3)*3; for(i=0;i<3;i++) for(j=0;j<3;j++) if(map[i+it][j+jt]==k) return false; return true; }
int dfs(int cap) { int i,x,y; if(cap<0) return 1; for(i=1;i<=9;i++) { x=v[cap][0]; y=v[cap][1]; if(judge(x,y,i)) { map[x][y]=i; if(dfs(cap-1)) return 1; map[x][y]=0; } } return 0; }
int main() { freopen("in.txt","r",stdin); int t,i,j; char c; scanf("%d\n",&t); while(t--) { num=0; for(i=0;i<9;i++,getchar()) for(j=0;j<9;j++) { scanf("%c",&c); map[i][j]=c-'0'; if(map[i][j]==0) { v[num][0]=i; v[num++][1]=j; } } dfs(num-1); for(i=0;i<9;i++) { for(j=0;j<9;j++) printf("%d",map[i][j]); printf("\n"); } } return 0; }
shudupoj2676的更多相关文章
随机推荐
- Python基础四
1. 集合 主要作用: 去重 关系测试, 交集\差集\并集\反向(对称)差集 2. 元组 只读列表,只有count, index 2 个方法 作用:如果一些数据不想被人修改, 可以存成元组,比如身 ...
- Unity 3D学习之《Unity 3D 手机游戏开发》1
P10: 设置断点步骤02,在Project窗口右键(是在下图中的红色区域,点右键)选择[Sync Mono Develop Project],打开MonoDevelop编辑器 P11: " ...
- ABAP 客户报表
*&---------------------------------------------------------------------* *& Report ZSDR014 ...
- CodeViz代码可视化
安装可以参见,http://blogimg.chinaunix.net/blog/upfile2/091119203927.pdf 结合pdf教程,这里说下注意事项: 1 ) 必须先安装GRAPHVI ...
- Revolving Digits(hdu 4333)
题意:就是给你一个数字,然后把最后一个数字放到最前面去,经过几次变换后又回到原数字,问在这些数字中,比原数字小的,相等的,大的分别有多少个.比如341-->134-->413-->3 ...
- 会话控制:Cookie和session
HTTP(超文本传输协议)定义了通过万维网(WWW)传输文本.图形.视频和所有其他数据所有的规则.HTTP是一种无状态的协议,说明每次请求的处理都与之前或之后的请求无关.虽然这种简化实现对于HTTP的 ...
- python selenium中使用ddt进行数据驱动测试
- 用VBox虚拟机安装Android 屏幕90度翻转竖屏设置
在虚拟机中安装好Android之后,有一些Android应用(比如UC浏览器.UC桌面)不能安装.但更有一些程序是可以安装,却自动顺时间旋转了90度,操作和看起来非常不爽! 这个情况下,在Androi ...
- 8-04流程控制语句BEGIN ..END
流程控制语句: 是用来控制程序流程的语句. 常用的流程控制语句的分类: 顺序结构:BEGIN...END 分支结构: IF ..ELSE 或CASE ..END 循环结构:WHILE 顺序结构 语法 ...
- ref的用法
ref可以修改变量作为参数调用的值,但必须要初始化,不能在调用的函数中初始化 static void Main(string[] args) { ; Console.WriteLine("m ...