BFS
广度优先搜索BFS
cutlery1137
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 调手表【BFS】
小明买了块高端大气上档次的电子手表,他正准备调时间呢。在 M78 星云,时间的计量单位和地球上不同,M78 星云的一个小时有 n 分钟。大家都知道,手表只有一个按钮可以把当前的数加一。在调分钟的时候,如果当前显示的数是 0 ,那么按一下按钮就会变成 1,再按一次变成 2 。如果当前的数是 n - 1,按一次后会变成 0 。作为强迫症患者,小明一定要把手表的时间调对。如果手表上的时间比当前时间多1,则要按 n - 1 次加一按钮才能调回正确时间。小明想,如果手表可以再添加一个按钮,表示把当前的数加 k 该多原创 2020-11-10 20:14:27 · 272 阅读 · 0 评论 -
AcWing 845. 八数码【BFS】
题目链接:845. 八数码 在一个3×3的网格中,1~8这8个数字和一个“x”恰好不重不漏地分布在这3×3的网格中。例如:1 2 3x 4 67 5 8在游戏过程中,可以把“x”与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):1 2 34 5 67 8 x例如,示例中图形就可以通过让“x”先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:1 2 3 1 2 3 1 2 3 1 2 3原创 2020-11-01 11:09:40 · 146 阅读 · 0 评论 -
蓝桥杯 全球变暖【BFS】
题目链接:AcWing 1233. 全球变暖 你有一张某海域 N×N像素的照片,”.”表示海洋、”#”表示陆地,如下所示:….##….##……##.…####.…###.…其中”上下左右”四个方向上连在一起的一片陆地组成一座岛屿,例如上图就有 2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。例如上图中的海域未来会变成如下样子:……………#……原创 2020-10-17 09:02:36 · 299 阅读 · 2 评论 -
AcWing 1101. 献给阿尔吉侬的花束【BFS】
题目链接:AcWing 1101. 献给阿尔吉侬的花束阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个 R×C的字符矩阵来表示。字符 S 表示阿尔吉侬所在的位置,字符 E 表示奶酪所在的位置,字符 # 表示墙壁,字符 . 表示可以通行。阿尔吉侬在 1 个单位时间内可以从当前的位置走到它上下左原创 2020-10-10 23:17:27 · 271 阅读 · 0 评论 -
HDU1495 非常可乐【BFS】
题目链接:非常可乐Problem Description大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以...原创 2020-03-24 18:15:59 · 174 阅读 · 0 评论 -
第十届蓝桥杯省赛Java A组 迷宫【BFS】
【问题描述】下图给出了一个迷宫的平面图,其中标记为 1 的为障碍,标记为 0 的为可以通行的地方。010000000100001001110000迷宫的入口为左上角,出口为右下角,在迷宫中,只能从一个位置走到这 个它的上、下、左、右四个方向之一。对于上面的迷宫,从入口开始,可以按DRRURRDDDR 的顺序通过迷宫, 一共 10 步。其中 D、U、L、R 分别表示向下、向上、向左、...原创 2020-03-19 20:05:46 · 336 阅读 · 0 评论 -
leetcode 994. 腐烂的橘子【BFS】
题目链接:994. 腐烂的橘子在给定的网格中,每个单元格可以有以下三个值之一:值 0 代表空单元格;值 1 代表新鲜橘子;值 2 代表腐烂的橘子。每分钟,任何与腐烂的橘子(在 4 个正方向上)相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回 -1。示例 1:输入:[[2,1,1],[1,1,0],[0,1,1]]输出:4示例 2:...原创 2020-03-11 22:04:14 · 275 阅读 · 0 评论 -
洛谷P1141 01迷宫【记忆化搜索】
题目链接:P1141 01迷宫程序说明:可以用bfs来做,但是数据毒瘤,如果每次询问都运行一次bfs,会有三个TLE。。可以将路途经过的点储存起来并且记录答案,如果询问的点已经被记录了答案,直接输出答案就行了,这里是用一个队列存经过的点。d数组用于标记是否能走到,注意每次bfs不需要更新d数组。代码如下:#include <iostream>#include <que...原创 2020-02-12 13:34:21 · 343 阅读 · 0 评论 -
POJ3984 迷宫问题 【BFS】
题目链接:POJ3984 迷宫问题Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 48864 Accepted: 26518Description定义一个二维数组:int maze[5][5] = {0, 1, 0, 0, 0,0, 1, 0, 1, 0,0, 0, 0, 0, 0,0, 1, 1, 1...原创 2020-01-16 14:31:12 · 190 阅读 · 0 评论 -
洛谷P1443 马的遍历
题目链接:P1443 马的遍历程序说明:广度优先搜索(最短路径),马的走法有八种情况。注意输出格式就行了。代码如下:#include <iostream>#include <cstdio>#include <queue>#define MAX 401using namespace std;struct point { int x; in...原创 2020-01-18 14:05:24 · 193 阅读 · 0 评论