![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DFS
甘甘甘甘甘甘甘
码不停题
展开
-
搜索|数字三角形
传送门思路枚举全排列所有的可能性,然后验证。在验证的时候,有如下规律:当n=1时,排列可得到的值为comb[1]当n=2时,排列可得到的值为comb[1]+comb[2]当n=3时,排列可得到的值为comb[1]+2comb[2]+comb[3]当n=4时,排列可得到的值为comb[1]+3comb[2]+3*comb[3]+comb[4]…实际上,一个排列能够得到的值可以写为:...原创 2020-02-11 21:47:03 · 206 阅读 · 0 评论 -
DFS|Saving James Bond - Easy Version
Saving James Bond - Easy VersionThis time let us consider the situation in the movie “Live and Let Die” in which James Bond, the world’s most famous spy, was captured by a group of drug dealers. He w...原创 2019-11-23 19:56:24 · 117 阅读 · 0 评论 -
DFS|用递归的方法来显示由一群人组队的所有可能方案
输入:人群的人数n以及组队的人数k输出:显示所有的组合样例输入:52样例输出:A BA CA DA EB CB DB EC DC ED E提示:用字符A-Z代表每个组员,每队表示为一个字符串。思路:首先以从A、B、C、D四个组员中选两个为例,从简单的情况进行分析。下面列出组合情况:AB、AC、AD(A打头)BC、BD(B打头)CD(C打头)...原创 2019-11-15 12:52:36 · 886 阅读 · 0 评论 -
DFS|最大乘积
最大乘积把 1~9 这9个数字分成两组,中间插入乘号,有的时候,它们的乘积也只包含1~9这9个数字,而且每个数字只出现1次。比如:984672 * 351 = 34561987298751 * 3462 = 3418759629 * 87146325 = 784316925…符合这种规律的算式还有很多,请你计算在所有这些算式中,乘积最大是多少?public class 最大乘积 ...原创 2019-05-21 18:03:58 · 333 阅读 · 0 评论 -
DFS|路径之谜
路径之谜小明冒充X星球的骑士,进入了一个奇怪的城堡。城堡里边什么都没有,只有方形石头铺成的地面。假设城堡地面是 n x n 个方格。【如图1.png】所示。按习俗,骑士要从西北角走到东南角。可以横向或纵向移动,但不能斜着走,也不能跳跃。每走到一个新方格,就要向正北方和正西方各射一箭。(城堡的西墙和北墙内各有 n 个靶子)同一个方格只允许经过一次。但不必做完所有的方格。如果只给出靶...原创 2019-05-21 18:02:26 · 157 阅读 · 0 评论 -
DFS\BFS汇总
DFS\BFS汇总文章目录DFS\BFS汇总BFS迷宫最短路径打印最短的路径逃离迷宫Rescue(BFS+优先队列)Fill(BFS+优先队列)DFS路径之谜最大乘积BFS迷宫最短路径迷宫最短路径打印最短的路径打印最短的路径逃离迷宫逃离迷宫Rescue(BFS+优先队列)RescueFill(BFS+优先队列)FillDFS路径之谜小明冒充X星球的骑士,进入了一个奇怪...原创 2019-05-21 11:49:19 · 153 阅读 · 0 评论 -
DFS|牌型种数
牌型种数小明被劫持到X赌城,被迫与其他3人玩牌。一副扑克牌(去掉大小王牌,共52张),均匀发给4个人,每个人13张。这时,小明脑子里突然冒出一个问题:如果不考虑花色,只考虑点数,也不考虑自己得到的牌的先后顺序,自己手里能拿到的初始牌型组合一共有多少种呢?请填写该整数,不要填写任何多余的内容或说明文字。思路先介绍一种容易想到的DFS思路对1-13号牌选择13次,注意同号牌数目不超过4...原创 2019-03-15 21:07:11 · 197 阅读 · 0 评论 -
取球博弈
取球博弈一开始想到的思路是,搜索所有的对战结果然后将对战结果保存在set中,再通过set来判断先手的输赢。但是后来发现,这样做忽略了在最聪明的情况下做决策的条件所以这种思路是错的。 // 搜索全部的对战结果,但是忽略了聪明决策的条件 private static void dfs(int n, int me, int you, boolean mark) { if (n < da...原创 2019-03-20 09:05:59 · 274 阅读 · 0 评论 -
DFS|回溯法全排列,按字典序大小输出的全排列和抓取法去重的全排列
全排列以扑克排序介绍DFS打印全排列的两种形式回溯法全排列A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。统计存在的全排列个数。 private static void dfs(char[] arr, int cur) { if (cur == arr.length - 1)...原创 2019-03-07 23:02:03 · 745 阅读 · 0 评论 -
字典序输出全排列|扑克序列
扑克序列A A 2 2 3 3 4 4, 一共4对扑克牌。请你把它们排成一行。要求:两个A中间有1张牌,两个2之间有2张牌,两个3之间有3张牌,两个4之间有4张牌。请填写出所有符合要求的排列中,字典序最小的那个。例如:22AA3344 比 A2A23344 字典序小。当然,它们都不是满足要求的答案。请通过浏览器提交答案。“A”一定不要用小写字母a,也不要用“1”代替。字符间一定不要留空...原创 2019-03-07 11:57:42 · 506 阅读 · 0 评论 -
DFS|地宫寻宝
地宫寻宝问题描述 X 国王有一个地宫宝库。是 n x m 个格子的矩阵。每个格子放一件宝贝。每个宝贝贴着价值标签。 地宫的入口在左上角,出口在右下角。 小明被带到地宫的入口,国王要求他只能向右或向下行走。 走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。 当小明走到出口时,如果他手中的宝贝恰好是k件,则这些宝贝就可以送...原创 2019-03-09 17:09:12 · 404 阅读 · 0 评论 -
DFS|油田问题
Description某石油勘探公司正在按计划勘探地下油田资源,工作在一片长方形的地域中。他们首先将该地域划分为许多小正方形区域,然后使用探测设备分别探测每一块小正方形区域内是否有油。若在一块小正方形区域中探测到有油,则标记为’@’,否则标记为’*’。如果两个相邻区域都为1,那么它们同属于一个石油带,一个石油带可能包含很多小正方形区域,而你的任务是要确定在一片长方形地域中有多少个石油带。 所谓相...原创 2019-03-08 20:21:36 · 1133 阅读 · 0 评论 -
DFS|部分和(位向量法生成子集)
部分和题目描述给定a1,a2,…,an,判断是否可以从中选出若干数,使它们的和恰好为k.样例:输入n = 4a = {1,2,4,7}k = 13输出YESSolution 1求出a的全部子集判断是否存在子集之和等于kprivate static boolean f(int[] arr, int k) { ArrayList&amp;amp;lt;ArrayList&amp;amp;lt;Int...原创 2019-02-17 15:34:24 · 271 阅读 · 0 评论 -
DFS|数独
问题描述你一定听说过“数独”游戏。如下图所示,玩家需要根据9×9盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个同色九宫内的数字均含1-9,不重复。数独的答案都是唯一的,所以,多个解也称为无解。本图的数字据说是芬兰数学家花了3个月的时间设计出来的较难的题目。但对会使用计算机编程的你来说,恐怕易如反掌了。本题的要求就是输入数独题目,程序输出数独的唯一解。我们保证所有...原创 2019-02-16 18:41:20 · 753 阅读 · 0 评论