记忆化搜索(4):P1074 靶形数独——有优先顺序的dfs

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的时候说明搜完了。

但是这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值