POJ 2676
題目鏈接 :http://poj.org/problem?id=2676
?
Source Code #include <stdio.h> #include <stdlib.h> #include <string.h> int num[10][10] ,col[10][10] ,row[10][10] ,g[10][10] ,flag; void dfs (int count) {if (count == 81) {flag = 1;for (int i = 0 ;i < 9 ;i++) {for (int j = 0 ;j < 9 ;j++)printf("%d",num[i][j]);printf("\n");}return ;}int x = count / 9 ,y = count % 9;if (num[x][y] != 0) {dfs(count + 1);return ;}else {int k = (x / 3) * 3 + y / 3;for (int j = 1 ;j <= 9 ;j++) {if (!row[x][j] && !col[y][j] && !g[k][j]) {row[x][j] = 1;col[y][j] = 1;g[k][j] = 1;num[x][y] = j;dfs(count + 1);if (flag) return ;row[x][j] = 0;col[y][j] = 0;g[k][j] = 0;num[x][y] = 0;}}} } int main () {int n;char arr[10];scanf ("%d",&n);while (n--) {flag = 0;memset (col ,0 ,sizeof(col));memset (row ,0 ,sizeof(row));memset (g ,0 ,sizeof(g));for (int i = 0 ;i < 9 ;i++) {scanf ("%s",arr);for (int j = 0 ;j < 9 ;j++) {num[i][j] = arr[j] - 48;if (num[i][j] != 0)row[i][num[i][j]] = col[j][num[i][j]] = g[(i / 3) * 3 + j / 3][num[i][j]] = 1;}}dfs(0);}return 0; }這題模型貌似很簡單(我個人認為啊)
轉載于:https://www.cnblogs.com/Wrongsbj/archive/2011/11/24/2261111.html
總結
- 上一篇: 判断浏览器的DOM模型
- 下一篇: firefox浏览器中silverlig