poj解题报告——2676
来源:互联网 发布:手机信号测试软件 编辑:程序博客网 时间:2024/04/29 07:59
这题是数独游戏,直接暴力深搜吧
代码如下
#include<stdio.h>int sign;int num[9][9];void Input(){ int i,j; for(i=0;i<9;i++) for(j=0;j<9;j++) scanf("%1d",&num[i][j]);}void Output(){ int i,j; for (i=0;i<9;i++) { for(j=0;j<9;j++) { printf("%d",num[i][j]); } printf("\n"); }}int Check(int n,int key){ int i,j; int x,y; for(j=0;j<9;j++) { i=n/9; if(num[i][j]==key) return 0; } for(i=0;i<9;i++) { j=n%9; if(num[i][j]==key)return 0; } x=n/9/3*3; y=n%9/3*3; for(i=x;i<x+3;i++) { for(j=y;j<y+3;j++) { if(num[i][j]==key)return 0; } } return 1;}int DFS(int n){ int i; if (n>80) { sign=1; return 0; } if(num[n/9][n%9]!=0) { DFS(n+1); } else { for(i=1;i<=9;i++) { if(Check(n,i)==1) { num[n/9][n%9]=i; DFS(n+1); if(sign==1) return 0; num[n/9][n%9]=0; } } }}void main(){ int test,i,j; scanf("%d",&test); while(test--) {sign=0; Input(); DFS(0); Output(); }}
0 0
- poj解题报告——2676
- POJ 2676 解题报告
- POJ 1088 滑雪——解题报告
- POJ 1047——解题报告
- poj解题报告——poj1006
- poj解题报告——1032
- poj解题报告——1061
- poj解题报告——1450
- poj解题报告——1002
- poj解题报告——2109
- poj解题报告——1218
- poj解题报告——1250
- poj解题报告——1012
- poj解题报告——3299
- poj解题报告——2209
- poj解题报告——2406
- poj解题报告——2242
- poj解题报告——1401
- 东莞黄江镇特厚刨花板厂有没有呢
- 2015-基础(7)
- VM9安装 提示Running Processes Detected
- 洪梅镇刨花板价格多少呢
- 东坑刨花板生产厂家有几家呢
- poj解题报告——2676
- 2015-数学(1)
- java框架组合
- duilib 修复combo控件打开下拉菜单后不会自动定位到上次选择的位置上的bug
- Android批量打包提速 - 1分钟900个市场不是梦
- C++学习 c++作用域运算符用法(全局变量和局部变量)
- Kali Linux VMWARE 配置静态IP
- 2015-数学(2)
- Android连接百度云数据库demo