dfs
随心随性随天意
命数如此
展开
-
n皇后问题(回溯法)
问题: 在n×n格的国际象棋上摆放n个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法? 分析: 乍一看n*n似乎需要一个二维数组,实际上一个一维数组就足够了,例如rec[x]=y; 其中x就是横坐标,y就是纵坐标。 这边讲解的是中规中矩的回溯法。 回溯法:步步深入试探,若无果,返回上一级重新选择,这就是回溯法。(感觉像深搜的剪枝) 大致思路: 就是回溯的...原创 2019-06-06 21:31:00 · 685 阅读 · 0 评论 -
9*9数独游戏
分析: 深搜:很常规的从行开始遍历,遍历到底后,移到下一列再次遍历其行。如果遇到无法填入的情况则放回上一级尝试其他可选数字。 样例: 输入: 005300000 800000020 070010500 400005300 010070006 003200080 060500009 004000030 000009700 输出: 125346897 831467925 276918543 48962...原创 2019-06-07 13:59:52 · 4164 阅读 · 4 评论 -
dfs之水洼数目
1. 问题描述: 水洼数目有一个大小为N * M的院子,雨后积起了水, 八连通的积水被认为是连在一起的,请求出园子里面总共有多少水洼(八连通指的是下图中相对w大的*部分) import java.util.Scanner; public class _14dfs水洼数目 { //外层扫描扫描到W便进行深搜将所有W都揪出来变成. static char[][] matrix; static ...原创 2019-06-16 11:59:27 · 385 阅读 · 0 评论