
dfs&bfs
ln2037
用心雕琢我的艺术品。
展开
-
LeetCode 22. 括号生成 【DFS】
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]提示:1 <= n <= 8先放左括号,再放右括号。class Solution {public: void dfs(int l, int r, int n, string str, vector<s原创 2021-02-01 18:06:18 · 72 阅读 · 0 评论 -
LeetCode 39. 组合总和 【DFS】
给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。 示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入:candidates = [2,3,5], target = 8,原创 2021-02-01 18:05:07 · 81 阅读 · 0 评论 -
LeetCode 437. 路径总和 III【前缀和 + DFS】
给定一个二叉树,它的每个结点都存放着一个整数值。找出路径和等于给定数值的路径总数。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。二叉树不超过1000个节点,且节点数值范围是 [-1000000,1000000] 的整数。示例:root = [10,5,-3,3,2,null,11,3,-2,null,1], sum = 8 10 / \5 -3/ \ 3 2 11/ \ 3 -2 1返回 3。和等原创 2021-01-31 22:01:31 · 167 阅读 · 0 评论 -
LeetCode 17. 电话号码的字母组合 【DFS】
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例 1:输入:digits = “23”输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2:输入:digits = “”输出:[]示例 3:输入:digits = “2”输出:[“a”,“b”,“c”]提示:0 <= digits.length <= 4原创 2021-01-31 21:57:26 · 74 阅读 · 0 评论 -
LeetCode 207. 课程表 【拓扑排序】
你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?示例 1:输入: 2, [[1,0]]输出: true解释: 总共有 2 门课程。学习课程 1 之前,你需要完成课程 0。所以这是可能的。示例 2:输入: 2, [[1,0],[0,1]]输出: false解释:原创 2021-01-31 21:56:18 · 84 阅读 · 0 评论 -
LeetCode 79. 单词搜索 【DFS】
给定一个二维网格和一个单词,找出该单词是否存在于网格中。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。示例:board =[[‘A’,‘B’,‘C’,‘E’],[‘S’,‘F’,‘C’,‘S’],[‘A’,‘D’,‘E’,‘E’]]给定 word = “ABCCED”, 返回 true给定 word = “SEE”, 返回 true给定 word = “ABCB”, 返回 false提示:原创 2021-01-22 23:18:05 · 78 阅读 · 0 评论 -
LeetCode 322. 零钱兑换 【DFS】
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1示例 3:输入:coins = [1], amount = 0输出:0示例 4:输入:coins原创 2021-01-22 23:07:42 · 108 阅读 · 0 评论 -
LeetCode 124. 二叉树中的最大路径和【DFS】
给定一个非空二叉树,返回其最大路径和。本题中,路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。示例 1:输入:[1,2,3] 1 / \ 2 3输出:6示例 2:输入:[-10,9,20,null,null,15,7] -10 / \ 9 20 / \ 15 7输出:42从根结点开始搜索,分别找出当前节点的左右子树最大路径和再更新就行了。/** * Defi原创 2020-12-18 19:29:54 · 146 阅读 · 1 评论 -
剑指 Offer 37. 序列化二叉树 【二叉树 + BFS】
请实现两个函数,分别用来序列化和反序列化二叉树。示例:你可以将以下二叉树: 1 / \2 3 / \ 4 5序列化为 “[1,2,3,null,null,4,5]”题目描述的不是太清楚,,序列化后的并不是完全二叉树,直接广搜就行了,末尾多余的null也不用删除。这种输入输出格式真是,不知道说什么好了。/** * Definition for a binary tree node. * struct TreeNode { * int val; *原创 2020-12-13 18:05:28 · 90 阅读 · 0 评论 -
I Walking Machine【BFS】
题目描述Given a maze of size n×mn\times mn×m, where upper left corner is (1,1)(1, 1){}(1,1) and lower right corner is (n,m)(n, m){}(n,m). For each cell (x,y)(x, y)_{}(x,y), there is exactly one character c (c∈{W,A,S,D})c~(c\in {W, A, S, D})c (c∈{W,A,S,D})原创 2020-12-01 23:19:54 · 101 阅读 · 0 评论 -
2019年蓝桥杯C++省赛B组 【E:迷宫】 【BFS】
题目描述下图给出了一个迷宫的平面图,其中标记为1 的为障碍,标记为0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫,一共10 步。其中D、U、L、R 分别表示向下、向上、向左、向右走。对于下面这个更复杂的迷宫(30 行50 列),请找出一种通过迷宫的方式,其使用的步数最少,在步数最少的前提下,请原创 2020-10-13 18:52:30 · 133 阅读 · 0 评论 -
L2-006 树的遍历 (25分) 【二叉树 + BFS】
给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。输入格式:输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中序遍历序列。数字间以空格分隔。输出格式:在一行中输出该树的层序遍历的序列。数字间以1个空格分隔,行首尾不得有多余空格。输入样例:72 3 1 5 7 6 41 2 3 4 5 6 7输出样例:4 1 6 3 5 7 2#include <iostream>#includ原创 2020-10-11 12:54:50 · 316 阅读 · 0 评论 -
P2853 [USACO06DEC]Cow Picnic S 【DFS】
题目描述The cows are having a picnic! Each of Farmer John’s K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1…N. The pastures are connected by M (1 ≤ M ≤ 10,000) one-way paths (no path connects a pasture to itself).原创 2020-10-08 18:24:22 · 153 阅读 · 0 评论 -
P2853 [USACO06DEC]Cow Picnic S 【DFS】
题目描述The cows are having a picnic! Each of Farmer John’s K (1 ≤ K ≤ 100) cows is grazing in one of N (1 ≤ N ≤ 1,000) pastures, conveniently numbered 1…N. The pastures are connected by M (1 ≤ M ≤ 10,000) one-way paths (no path connects a pasture to itself).原创 2020-10-08 18:22:48 · 326 阅读 · 0 评论 -
P5318 【深基18.例3】查找文献 【DFS + BFS】
题目描述小K 喜欢翻看洛谷博客获取知识。每篇文章可能会有若干个(也有可能没有)参考文献的链接指向别的博客文章。小K 求知欲旺盛,如果他看了某篇文章,那么他一定会去看这篇文章的参考文献(如果他之前已经看过这篇参考文献的话就不用再看它了)。假设洛谷博客里面一共有 n(n≤105)n(n\le10^5)n(n≤105) 篇文章(编号为 1 到 nnn)以及 m(m≤106)m(m\le10^6)m(m≤106) 条参考文献引用关系。目前小 K 已经打开了编号为 1 的一篇文章,请帮助小 K 设计一种方法,使小原创 2020-10-08 18:21:56 · 341 阅读 · 0 评论 -
P2196 挖地雷 【DFS】
题目描述在一个地图上有NNN个地窖(N≤20)(N \le 20)(N≤20),每个地窖中埋有一定数量的地雷。同时,给出地窖之间的连接路径。当地窖及其连接的数据给出之后,某人可以从任一处开始挖地雷,然后可以沿着指出的连接往下挖(仅能选择一条路径),当无连接时挖地雷工作结束。设计一个挖地雷的方案,使某人能挖到最多的地雷。输入格式有若干行。第111行只有一个数字,表示地窖的个数NNN。第222行有NNN个数,分别表示每个地窖中的地雷个数。第333行至第N+1N+1N+1行表示地窖之间的连接情况:第原创 2020-10-06 09:38:42 · 170 阅读 · 0 评论 -
P1434 [SHOI2002]滑雪 【记忆化搜索】
题目描述Michael 喜欢滑雪。这并不奇怪,因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael 想知道在一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子:1 2 3 4 516 17 18 19 615 24 25 20 714 23 22 21 813 12 11 10 9一个人可以从某个点滑向上下左右相邻四个点之一,当且原创 2020-10-05 21:21:07 · 114 阅读 · 0 评论 -
P1825 [USACO11OPEN]Corn Maze S 【BFS】
题目描述This past fall, Farmer John took the cows to visit a corn maze. But this wasn’t just any corn maze: it featured several gravity-powered teleporter slides, which cause cows to teleport instantly from one point in the maze to another. The slides work in原创 2020-09-22 19:26:14 · 483 阅读 · 2 评论 -
P2895 [USACO08FEB]Meteor Shower S 【BFS】
题目描述Bessie hears that an extraordinary meteor shower is coming; reports say that these meteors will crash into earth and destroy anything they hit. Anxious for her safety, she vows to find her way to a safe location (one that is never destroyed by a meteo原创 2020-09-16 19:53:32 · 327 阅读 · 0 评论 -
P2036 [COCI2008-2009#2] PERKET 【DFS】
题目描述Perket 是一种流行的美食。为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道。你有 nnn 种可支配的配料。对于每一种配料,我们知道它们各自的酸度 sss 和苦度 bbb。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。另外,我们必须添加至少一种配料,因为没有任何食物以水为配料的。输入格式第一行一个整数 nnn,表示可供选用原创 2020-09-16 19:50:25 · 567 阅读 · 0 评论 -
P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two【DFS+模拟】
题目描述两只牛逃跑到了森林里。Farmer John 开始用他的专家技术追捕这两头牛。你的任务是模拟他们的行为(牛和 John)。追击在 10×1010 \times 1010×10 的平面网格内进行。一个格子可以是:一个障碍物,两头牛(它们总在一起),或者 Farmer John。两头牛和 Farmer John 可以在同一个格子内(当他们相遇时),但是他们都不能进入有障碍的格子。一个格子可以是:. 空地;* 障碍物;C 两头牛;F Farmer John。这里有一个地图的例子:……原创 2020-09-06 12:24:46 · 183 阅读 · 0 评论 -
全球变暖
题目描述你有一张某海域NxN像素的照片,".“表示海洋、”#"表示陆地,如下所示:….##….##……##.…####.…###.…其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没...原创 2020-02-03 23:01:44 · 182 阅读 · 0 评论 -
P2622 关灯问题II 【状态压缩&bfs】
题目描述现有n盏灯,以及m个按钮。每个按钮可以同时控制这n盏灯——按下了第i个按钮,对于所有的灯都有一个效果。按下i按钮对于第j盏灯,是下面3中效果之一:如果a[i][j]为1,那么当这盏灯开了的时候,把它关上,否则不管;如果为-1的话,如果这盏灯是关的,那么把它打开,否则也不管;如果是0,无论这灯是否开,都不管。现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能全部...原创 2020-01-16 17:13:11 · 250 阅读 · 0 评论 -
B 小琛和他的学校
链接:https://ac.nowcoder.com/acm/contest/4047/B来源:牛客网题目描述小琛是一所学校的校长。他的学校有n个校区(编号1~n),被n-1条双向道路连接,呈树形结构。第i个校区共有Ai个学生。第i天早上,所有的学生会沿最短路走到第i个校区参加活动,晚上再原路返回。一个人通过第j条通道一次(即一人次),需要小琛支付wj的维护费用。小琛想知道第n天结...原创 2020-01-16 15:06:27 · 231 阅读 · 0 评论 -
C 装货物
链接:https://ac.nowcoder.com/acm/contest/3781/C来源:牛客网题目描述有 n 件货物, 第 i 件重 wiw_iwi 吨,另有 x 个集装箱,每个集装箱可以装重量不超过 W 吨的货物。货物不能分拆,请判断这 x 个集装箱能否装下所有货物。输入描述:第一行一个整数 T ,表示数据组数。对于每组数据:第一行三个整数 n,x,W\text{}n,...原创 2020-01-15 11:36:30 · 285 阅读 · 0 评论 -
Catch That Cow POJ - 3278
Catch That Cow POJ - 3278Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. He starts at a point N (0 ≤ N ≤ 100,000) on a number line and the cow is a...原创 2019-03-09 23:36:20 · 138 阅读 · 0 评论 -
Find The Multiple POJ - 1426
Find The Multiple POJ - 1426Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is n...原创 2019-03-09 23:39:03 · 163 阅读 · 0 评论 -
非常可乐 HDU - 1495
非常可乐 HDU - 1495大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的...原创 2019-03-14 23:59:49 · 222 阅读 · 0 评论 -
Find a way HDU - 2612
Find a way HDU - 2612Pass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifenfe...原创 2019-03-15 00:17:03 · 161 阅读 · 0 评论 -
Prime Path POJ - 3126
Prime Path POJ - 3126The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on their offices.—...原创 2019-03-10 22:01:32 · 242 阅读 · 0 评论 -
迷宫问题 POJ - 3984
迷宫问题 POJ - 3984定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1, 0,0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。Input一个5 × 5...原创 2019-03-10 22:11:10 · 188 阅读 · 0 评论 -
Pots POJ - 341
Pots POJ - 341You are given two pots, having the volume of A and B liters respectively. The following operations can be performed:FILL(i) fill the pot i (1 ≤ i ≤ 2) from the tap;DROP(i) ...原创 2019-03-11 23:50:13 · 235 阅读 · 0 评论 -
Fire Game FZU - 2150
Fire Game FZU - 2150Fat brother and Maze are playing a kind of special (hentai) game on an N*M board (N rows, M columns). At the beginning, each grid of this board is consisting of grass or just empt...原创 2019-03-12 23:35:21 · 191 阅读 · 0 评论 -
Fire! UVA - 11624
Fire! UVA - 11624Joe works in a maze. Unfortunately, portions of the maze havecaught on re, and the owner of the maze neglected to create a reescape plan. Help Joe escape the maze.Given Joe’s loca...原创 2019-03-13 00:03:06 · 255 阅读 · 0 评论 -
Dungeon Master POJ - 2251
Dungeon Master POJ - 2251You are trapped in a 3D dungeon and need to find the quickest way out! The dungeon is composed of unit cubes which may or may not be filled with rock. It takes one minute to ...原创 2019-03-09 23:21:18 · 202 阅读 · 0 评论