简单搜索
背不过单词选手
彼方尚有荣光在
展开
-
L2-031 深入虎穴(dfs
题目链接解题思路:下午刚做了个类似的然后这个题 我没看懂 没找到起点 以为起点是 1 呢007 发现不存在两条路通向同一扇门这句话 没有两条路是通往同一扇门的 所以 k 后面输入的数 肯定不是起点 所以需要记录下没有输入过的代码如下:#include<iostream>#include<vector>#include<algorithm>using namespace std;const int maxn=1...原创 2020-11-18 21:27:27 · 230 阅读 · 0 评论 -
L2-026 小字辈(dfs
题目链接解题思路:dfs 求树的深度 然后求 深度最大的 孩子代码如下:#include<iostream>#include<vector>using namespace std;const int maxn=1e5+10;vector<int> a[maxn];vector<int> b;int c[maxn];int maxx;void dfs(int x){ int i; if(a[x].empty()...原创 2020-11-18 18:00:37 · 140 阅读 · 0 评论 -
L2-020 功夫传人 ( dfs递归
题目链接解题思路:说实话一开始没看懂题就是一层一层的递减 然后如果是得道者那就翻倍 递归 用 dfs 统计得道者的功力代码如下:#include<iostream>#include<vector>using namespace std;const int maxn=1e5+10;int a[maxn];vector<int> v[maxn];double ans=0;//必须double double r;void dfs(int .原创 2020-11-12 20:33:01 · 116 阅读 · 1 评论 -
L2-016 愿天下有情人都是失散多年的兄妹 (dfs
题目链接解题思路:傻叉了 拿并查集写的 正解应该是 dfs代码如下:#include<iostream>#include<cstring> #include<vector> using namespace std;const int maxn=1e5+10;vector<int> v[maxn];bool vis[maxn];//记录亲属 int a[maxn];//记录性别 bool flag;//判断是否可以是情侣 ..原创 2020-11-11 19:57:45 · 128 阅读 · 0 评论 -
2018年蓝桥杯 C++ B组-----全球变暖
题目链接题目大意:n *n 像素的照片, . 是海洋 # 是陆地上下左右四个方向连在一起的一片陆地 是岛屿 然后岛屿边缘一个像素的范围会被海水严淹没问 有多少岛屿会被完全淹没解题思路:居然自己写出来了 有点震惊我先用 dfs 把岛屿全部标记了出来然后再用 set 去重代码如下:#include<iostream>#include<set>using namespace std;char a...原创 2020-10-11 20:26:35 · 212 阅读 · 0 评论 -
2017年蓝桥杯c++ B组 -----方格分割
题目链接题目大意:6x6的方格,沿着格子的边线剪开成两部分。要求这两部分的形状完全相同一共有多少种不同的分割方法。注意:旋转对称的属于同一种分割法。解题思路:从中心 ( 3, 3) 这个点兵分两路,到达边缘线的时候就是一种结果啦,从中心点往两边走是关于中心点对称,也就是旋转对称,然后向上走和向下走会有重合,所以要 / 4;代码如下:#include<iostream>using namespace std;int ans=0;int d[4...原创 2020-10-09 17:04:23 · 120 阅读 · 0 评论 -
HDU 1241 油田问题(DFS搜连通块
题目链接题目大意:一块 m * n 的土地,搜连在一块的 @ 油田 , 八个方向解题思路:找到一个 @ 就 ans++, 然后将它变成 * ,再从它的八个方向开始搜代码如下:#include<iostream>#include<cstring>using namespace std;char a[110][110]; int n,m;int ans=0;int d[8][2]={{-1,0},{1,0},{0,-1},{0,1},{-1,-1..原创 2020-10-08 19:34:19 · 145 阅读 · 0 评论 -
POJ 3984 迷宫问题 (BFS+打印路径坐标
题目链接题目大意:一个 5 * 5 的迷宫,从左上角走到右下角,求最短路径 并输出解题思路:不会呀 然后翻了无数题解都是 记录前驱 然后 递归逆向打印代码如下:#include<iostream>#include<cstring>using namespace std;int m[6][6];bool vis[110][110];int p[110];int head;int tail;int d[4][2]={{-1,0},{1,0},{.原创 2020-10-07 21:12:31 · 163 阅读 · 0 评论 -
POJ 3278 抓奶牛 (queue的BFS
题目链接题目大意: 农夫抓奶牛, 有三种1. 一分钟内从 x 到 x-12.一分钟内从 x 到 x+13.一分钟内从 x 到 x*2问至少多少分钟抓到奶牛解题思路:本来想着用结构体写 写一半觉得好麻烦 又改成了用队列写代码如下:#include<iostream>#include<queue>using namespace std;const int maxn=1e5+1;int n,k;int head,ta...原创 2020-10-07 19:19:29 · 233 阅读 · 0 评论 -
POJ 2251 三维BFS (求最短时间
题目链接题目大意:三维的空间,起始位置是 S 出口在 E 问最短多少时间可以逃出来解题思路:把二维的 bfs 换成三维 套模板就行代码如下:#include<iostream>#include<queue>#include<vector>#include<cstring>using namespace std;char map[55][55][55];//存地图 bool vis[55][55][55];//...原创 2020-10-07 16:51:10 · 157 阅读 · 0 评论 -
POJ 1321 棋盘问题(求可行方案多少
题目链接题目大意:一块 n * n 大小的棋盘,放 k 个棋子,不可以在同一行或者 同一列 ,问几种放置方案解题思路:按行搜索,后面for循环里再判断是否在同一列代码如下:#include<iostream>#include<cstring>using namespace std;int n,k;char a[11][11];int vis[110];int ans,sum;void dfs(int u){ if(sum==k) {..原创 2020-10-06 21:23:38 · 91 阅读 · 0 评论