![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
DFS/BFS
搜索
小兔崽崽!
我还年轻!!!
展开
-
[蓝桥杯][2017年第八届真题]青蛙跳杯子(BFS)
思路:这道题就用bfs去搜索就行,要注意的就是用一个map<string,int>mp去记录每种情况,进而达到去重的目的。#include <bits/stdc++.h>using namespace std;string s1,s2;int ans,sx;int dx[6] = {1,2,3,-1,-2,-3};map<string, int>mp; //判断该序列是否出现过,避免重复搜索struct node{ int x,step; ..原创 2020-08-01 17:00:02 · 271 阅读 · 0 评论 -
马的移动(BFS 广度优先遍历)
马的移动描述小明很喜欢下国际象棋,一天,他拿着国际象棋中的“马”时突然想到一个问题:给定两个棋盘上的方格a和b,马从a跳到b最少需要多少步?现请你编程解决这个问题。提示:国际象棋棋盘为8格*8格,马的走子规则为,每步棋先横走或直走一格,然后再往外斜走一格。输入输入包含多组测试数据。每组输入由两个方格组成,每个方格包含一个小写字母(ah),表示棋盘的列号,和一个整数(18),表示棋盘的行号。输出对于每组输入,输出一行“To get from xx to yy takes n knight m原创 2020-07-28 16:19:12 · 1061 阅读 · 1 评论 -
走迷宫 BFS写法
题目描述给一张个迷宫,问能否从起点走到终点,只能往上下左右走,不能斜着走输入多组测试数据,每组第一行两个正整数,分别为n和m表示n这个迷宫有n行m列(0<n,m<10)接着是n行m列,'#'表示路‘*’表示墙‘S’表示起点‘T’表示终点输出每组测试数据输出一个结果,如果能从S走到T,输出“YES”,否则输出“NO”样例输入2 2S*#T3 3S*##T样例输出YESNO思路:这就是一个走迷宫的题目,之前用DFS写过。最近想试试用BFS来写。广度优原创 2020-07-28 14:54:24 · 581 阅读 · 0 评论 -
P1101 单词方阵(DFS搜索)
思路:这就是一个搜索题,直接用dfs去搜索就行,这道题搜索的方向有8个方向。#include <bits/stdc++.h>using namespace std;char a[1010][1010],ans[1010][1010];int step_x[8]={0,0,-1,1,-1,-1,1,1};int step_y[8]={1,-1,0,0,-1,1,1,-1}; //八个方向int n,flag ;string s = "yizhong";void dfs(int...原创 2020-07-27 11:00:30 · 87 阅读 · 0 评论 -
P1605 迷宫 (DFS)方案数
思路:直接用DFS搜索,要注意的是这个题是找起点坐标到终点坐标的方案数,所以我们在递归调用之后要记得还原标记数组,不然后面无法统计方案数。#include <bits/stdc++.h>using namespace std;int n,m,t,sx,sy,fx,fy,ans=0;int vis[10][10],mp[10][10];int step_x[4] = {0,0,1,-1}; //方向数组int step_y[4] = {1,-1,0,0};void dfs(int.原创 2020-07-27 10:00:17 · 274 阅读 · 0 评论 -
01背包-DFS法
#include<bits/stdc++.h>using namespace std;const int maxn = 30;int ans;int w[maxn],c[maxn];int n,v;void DFS(int index,int sumW,int sumC){ if(index == n) return ; DFS(index+1,sumW,sumC...原创 2020-02-03 23:55:40 · 241 阅读 · 0 评论 -
小小小马(思维,dfs搜索)
链接:https://ac.nowcoder.com/acm/problem/200203来源:牛客网给定一个棋盘,已知棋盘的行数和列数是 n,mn,m,每个整数坐标处都有一个糖果,KevenKeven 初始在棋盘的左下角 (1,1)(1,1) 出发,并且 KevenKeven 每次只能跳 ”日” 字,假设 KevenKeven 可以跳无数次,但不可以跳出棋盘,现在 KevenKeven 想知...原创 2020-01-19 17:18:23 · 208 阅读 · 0 评论 -
Binbin's treasure map
链接:https://ac.nowcoder.com/acm/contest/3674/C来源:牛客网题目描述Binbin is a clever boy who likes to wear a skirt. One day, he saw some beautiful skirts on Taobao, but he had not enough money, which made him...原创 2020-01-12 15:47:09 · 372 阅读 · 0 评论 -
1221: 【搜索基础】N皇后问题
题目描述N皇后问题 queen.pas/c/cpp在N*N(1<N<=9)的棋盘上放置N个皇后而彼此不受攻击(即在棋盘的任一行,任一列和任一对角线上不能放置2个皇后),编程求解所有的摆放方法。[输入格式]一个整数n(1<n<=9)[输出格式]若有解,输出若干行,每行n个数,依次表示第i个皇后的列号若无解,输出 “no”[输入样例]4[输出样例]2...原创 2019-07-13 16:24:19 · 392 阅读 · 0 评论 -
1126: 走迷宫(DFS入门题)
题目描述给一张个迷宫,问能否从起点走到终点,只能往上下左右走,不能斜着走输入多组测试数据,每组第一行两个正整数,分别为n和m表示n这个迷宫有n行m列(0<n,m<10)接着是n行m列,'#'表示路‘*’表示墙‘S’表示起点‘T’表示终点输出每组测试数据输出一个结果,如果能从S走到T,输出“YES”,否则输出“NO”样例输入2 2S*#T3 3S*##...原创 2019-07-13 15:41:09 · 641 阅读 · 0 评论 -
问题 B: 小鱼的三角形(DFS)
题目描述小鱼有一个 n×n 的矩阵,起点在(1,1),终点在(n,n),只能向下或向右走,且每次只能走 1 步。矩阵上每个点都有一个点权 ai,j 。求走到终点的路径有多少不同的点权和。输入第一行,输入一个正整数 n 。接下来 n+1 行,每行 n 个数,表示 ai,j。输出共一行,输出有多少不同的点权和。样例输入21 52 4样例输出2提示(1,1)→(2,1)→(...原创 2019-07-21 14:34:50 · 142 阅读 · 0 评论 -
P1030 求先序排列(DFS搜索)(二叉数)
题目描述给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 \le 8≤8)。输入格式2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式1行,表示一棵二叉树的先序。输入输出样例输入BADCBDCA输出ABCD#include<bits/stdc++.h>using namespace std;cha...原创 2019-10-09 00:29:38 · 168 阅读 · 0 评论