
BFS
stormjing7
这个作者很懒,什么都没留下…
展开
-
【CCF-CSP】201312-5 I’m stuck!(暴力bfs)
【CCF-CSP】201312-5 I’m stuck!题目给一个迷宫,50 * 50,S起点 T终点,每种符号代表下一步能走的方向,问满足以下条件的格子数:能从S出发到达从当前格子出发到达不了 T。分析迷宫很小,从一个点开始 BFS 最多 50 * 50,直接按照题目意思暴力 BFS 即可。先找从 S 出发能够到达的点,再 BFS 检验这个点是否满足第二个条件。O(50 * 5...原创 2020-04-02 11:48:07 · 500 阅读 · 0 评论 -
CodeForces 199D (BFS 或 DFS)
CodeForces 199D题目有两个平行的序列 1 到 n,初始的时候你在上序列 1 位置,每次可以选择跳一下,有三种方式,位置 x +1 ,x - 1,或者跳到另外一个序列的 x + k 位置。同时还有一个值,初始为 0,每次加 1,你挑一下,这个值加一下,要保证任何时候位置值都要大于这个值。问位置值能否超过 n。分析直接搜索即可(DFS 或者 BFS),要注意剪枝。不要找重复的状态...原创 2019-07-17 21:09:32 · 306 阅读 · 0 评论 -
UVA - 10047(BFS 标记数组的应用)
UVA - 10047题目给一个迷宫,从 S 走到 T,每一次操作可以选择改变朝向,或者往当前朝向的方向前进一格,不过到达 T 的时候,底色还是原来的底色 ,(一共有5个底色,走一格变化一次,初始朝向为北),求最小操作。分析BFS套模板,不过要注意标记数组的应用,不仅仅是位置的标记,这个题要标记4个状态,位置,朝向,底色。先到的不一定是最小的,所以要求所有路径最小。ans = min...原创 2019-07-25 22:05:58 · 181 阅读 · 0 评论 -
UVA - 11624 Fire!(BFS+ 思维)
UVA - 11624 Fire!题目给一个迷宫,起始位置,还有着火点,每过一个时间,着火点都会蔓延,问最终能否从迷宫逃出。分析如果没有着火的情况,直接BFS模板题,加上着火的话,可以预处理每个点被蔓延的时间,到时候 bfsbfsbfs 能不能走出去的时候,不能走当前已经着火的地方。预处理着火的地方,要将所有起始找着火点都加入初始队列,相当于多个源点。代码#include <c...原创 2019-07-25 16:04:53 · 229 阅读 · 0 评论 -
HDU-2612 Find a way(双向bfs)
Find a way题意:给你一维图,两个人Y,M,约在kfc(@)见面,求两个人走的步数和最小的走法做法:分别从两个人的位置进行bfs,将两次的结果写入ans数组,最后遍历ans数组,找出两个人都能到且步数和最小的kfc。代码:#include &lt;iostream&gt;#include &lt;cstring&gt;#include &lt;string&gt;#inclu...原创 2018-11-15 19:26:46 · 309 阅读 · 0 评论 -
POJ - 2251 Dungeon Master(三维bfs)
Dungeon Master题意:给你一个三维的图,让你找到从S到E最短的路径。做法:直接套bfs模板,只不过要把数组改为三维的。代码:#include <iostream>#include <cstring>#include <string>#include <cstdio>#include <algorithm>#...原创 2018-11-15 19:36:41 · 185 阅读 · 0 评论 -
POJ-3278 Catch That Cow(bfs+剪枝)
Farmer 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 at a point K (0 ≤ K ≤ 100,0...原创 2018-12-03 22:00:05 · 271 阅读 · 1 评论 -
UVA 816 Abbott's Revenge(带方向的bfs)
UVA 816题意给你一幅图, 求起点到终点最短路,图中每个节点进入的朝向跟出去的方向题目会给出。分析用一个三元组来保存状态(r, c, dir),代表当前位置在r, c。面朝dir方向。#include<bits/stdc++.h>using namespace std;struct Node{ int r, c, dir; // 站在(r,c),面朝方向d...原创 2018-12-18 21:41:03 · 194 阅读 · 0 评论 -
POJ - 3414 Pots (倒水问题 BFS + 打印路径)
POJ - 3414 Pots题目大意就是给你A, B两个杯子,及他们的最大容量,三种操作方法,让你判断最少用多少此方法可以让任意一个被子里装有 C 升水。并打印路径。分析这里很容易想到广搜,设初始状态为(i,j),一共就只有六种变化A杯倒满,B杯倒满,A杯倒出完,B杯倒出完,A到给B,B到给A。任意一种状态i 或者 j达到 C 就停止,注意要打印路径,我这里用一个string存的操作...原创 2019-03-11 19:07:17 · 597 阅读 · 1 评论 -
倒水问题 bfs (例:uva 10603)
问题大意倒水问题一般有三个杯子, 容量分别为a, b, c,最初只有第3个杯子装满了c升水,其他两个杯子为空,最少需要几次操作能让某一个杯子水有d升...原创 2019-03-11 20:54:42 · 2191 阅读 · 0 评论 -
L2-031 深入虎穴(bfs 有坑)
这道题是前天天梯赛的题,当时看了一下以为要建树,加上vector忘了怎么插入数据,就没做,下面看了一下,直接bfs就行,注意这题有个坑,要先把入口求出来,就是入度为零的节点,因为题目没说1一定是根节点#include <bits/stdc++.h>using namespace std;const int mod = 1e9 + 7;typedef long long ll;...原创 2019-04-01 21:32:17 · 666 阅读 · 0 评论 -
HDU - 1175 连连看(BFS 扩展顺序不同导致WA ???)
HDU - 1175 连连看题目给一个迷宫,起点和终点,问是否能从起点走到终点,且转向次数不超过 2 次。分析题目并不难,很容易想到 bfs,不过要有很多细节要注意。定义 bfs 的每次的状态包括当前位置,当前已转向次数,来时的方向。可以先将终点位置值设为 0 ,即通路,便于写代码。但是 bfs之后要改回去。后面判断转向就用要去的方向与来时的方向一样不一样。注意细节。代码#in...原创 2019-07-17 17:03:49 · 207 阅读 · 0 评论 -
HDU - 1043 Eight (八数码:逆向BFS + 康拓展开)
HDU - 1043 Eight题目题目是八数码问题,肯定都玩过,输出数据是多组,每次给出初始状态,问能否达到123456780 的状态,如果能就输出上下左右的路径,不能就输出英文。分析看了一眼题,感觉 bfs 还可以,因为状态很好表示,代码...原创 2019-07-20 19:10:57 · 256 阅读 · 0 评论