P1074 靶形数独
输出格式
输出共 11 行。输出可以得到的靶形数独的最高分数。如果这个数独无解,则输出整数-1−1。
输入输出样例
输入 #1复制
7 0 0 9 0 0 0 0 1
1 0 0 0 0 5 9 0 0
0 0 0 2 0 0 0 8 0
0 0 5 0 2 0 0 0 3
0 0 0 0 0 0 6 4 8
4 1 3 0 0 0 0 0 0
0 0 7 0 0 2 0 9 0
2 0 1 0 6 0 8 0 4
0 8 0 5 0 4 0 1 2
输出 #1复制
2829
输入 #2复制
0 0 0 7 0 2 4 5 3
9 0 0 0 0 8 0 0 0
7 4 0 0 0 5 0 1 0
1 9 5 0 8 0 0 0 0
0 7 0 0 0 0 0 2 5
0 3 0 5 7 9 1 0 8
0 0 0 6 0 1 0 0 0
0 6 0 9 0 0 0 0 1
0 0 0 0 0 0 0 0 6
输出 #2复制
2852
总结目录
1 本题搜索思路与加速方法——有优先顺序的dfs
2 具体搜索流程
3 本题搜索细节
1 有优先顺序的dfs
本题其实有点类似于八皇后问题的变种。只不过增加了一个九宫格的blockmark[][]的记录,rowmark[][]和colmark[][]应该都是已知的。那么深搜的时候从第一个点进行搜索,搜到最后一个点得到sum,这个算是暴力搜索的方法了,此时的dfs(int row,int col),返回条件是row==10,也就是搜到10的时候说明搜完了。
但是这样