回溯法
本页面将简要介绍回溯法的概念和应用。
简介
回溯法是一种经常被用在 深度优先搜索(DFS) 和 广度优先搜索(BFS) 的技巧。
其本质是:走不通就回头。
过程
构造空间树;
进行遍历;
如遇到边界条件,即不再向下搜索,转而搜索另一条链;
达到目标条件,输出结果。
例题
USACO 1.5.4 Checker Challenge
现在有一个如下的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
上面的布局可以用序列
行号
列号
这只是跳棋放置的一个方案。请编一个程序找出所有方案并把它们以上面的序列化方法输出,按字典顺序排列。你只需输出前
参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
|
迷宫
现有一个尺寸为
参考代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
本页面最近更新:2023/2/18 07:57:07,更新历史
发现错误?想一起完善? 在 GitHub 上编辑此页!
本页面贡献者:NachtgeistW, Alisahhh, FFjet, iamtwz, Ir1d, kenlig, ksyx, luoguyuntianming, miaotony, partychicken, sshwy, StudyingFather
本页面的全部内容在 CC BY-SA 4.0 和 SATA 协议之条款下提供,附加条款亦可能应用