bfs
blue_sister
这个作者很懒,什么都没留下…
展开
-
1099 Build A Binary Search Tree
1.中序遍历建树2.bfs层序输出3.不能用//1020 Tree Traversals (25 分)的方法输出层序,因为其index会报int#include <bits/stdc++.h>using namespace std;struct node{ int val; int l,r;};vector<node > t;int key[105]; int cnt;int n;//map<int,int > level;void原创 2021-04-17 14:57:19 · 69 阅读 · 0 评论 -
1094 The Largest Generation (25 分)
1.树的搜索2.寻找树的层数最多的节点数#include <bits/stdc++.h>using namespace std;vector<vector<int > > tr;int le_n[105];int ans,level;int n,m;struct node{ int id; int level;};void bfs(int x){ node root; root.id = 1; root.leve原创 2021-04-14 11:08:57 · 52 阅读 · 0 评论 -
1091 Acute Stroke (30 分)
1.bfs2.区域块数量统计3.bfs该图搜索中比dfs花销要小、、、dfs会照成栈溢出(递归层数太多)#include <bits/stdc++.h>using namespace std;int x,y,z,t;bool g[60][1286][128],vis[60][1286][128];int ans=0,sum;int op[6][3] = {{0,0,1},{0,1,0},{1,0,0},{0,0,-1},{0,-1,0},{-1,0,0}};struct no原创 2021-04-12 19:42:21 · 61 阅读 · 0 评论 -
1076 Forwards on Weibo
传送门1.bfs2.维护广搜层数#include<bits/stdc++.h>using namespace std;vector<vector<int > > data;int n,k;int cnt = 0;vector<bool > vis;struct node{ int id; int step;};//要广度优先搜索,因为若某个节点在step更大的情况下被标记,可能会导致最后结果变小 //void dfs(i原创 2021-03-31 15:24:03 · 44 阅读 · 0 评论 -
HDU 3567 Eight II
//HDU 3567 Eight II //Eight的进阶版//1.划归思想,将所有问题归为九种以X的位置进行讨论//2.路径的记录与每个节点的特殊标记关联,该题便通过vis[][]起到记录路径的作用//3.有顺序的广搜//4.康托展开hash构造#include<bits/stdc++.h>using namespace std;const int maxn = 4e5; //大于9!const int fac[10]={1,1,2,6,24,120,720,5040,原创 2021-02-03 14:52:58 · 103 阅读 · 0 评论 -
HDU 1043 Eight
原题~传送门1.bfs+康托展开+打表+路径记录2.反向思维#include<bits/stdc++.h>using namespace std;const int maxs = 4e5;//const int AIM = 46234 ;//12456780对应的康托展开的hash值bool vis[maxs];int op1[4][2]={{-1,0},{1,0},{0,-1},{0,1}};char op2[5]="durl"; //因为bfs是从最终结果往回搜索,原创 2021-02-03 14:46:16 · 78 阅读 · 0 评论 -
Oil Deposits HDU - 1241 并查集思想 + bfs搜索
题目在第一次植物僵尸世界大战中,植物国的黑玫瑰王子使用了植物国的超超超超级无敌禁术-----”BUG”,开启了异次元的大门,在一位超超超超…级的指挥官”辅助器”带领下,打败了僵尸王国,但是也因此植物国大伤元气,无法再得到异次元的帮助。过了10000年后,僵尸国王子为了国家的荣誉和发扬祖先的”诺克萨斯”精神,打算采取”闪电战”战术,一举歼灭植物国的战略要塞,吹起第二次植物僵尸世界大战的号角,但是僵尸王子需要知道植物国现在有几个战略要塞,才能采取进一步措施,于是开始研究植物国的军事图。因为僵尸国卫星技术先进原创 2020-12-18 23:38:38 · 114 阅读 · 2 评论 -
Fire! UVA - 11624
题意乔在迷宫中工作。不幸的是,迷宫的一部分着火了,迷宫的主人没有制定火灾的逃跑计划。请帮助乔逃离迷宫。根据乔在迷宫中的位置以及迷宫的哪个方块着火,你必须确定火焰烧到他之前,乔是否可以离开迷宫,如果能离开他能跑多快。乔和火每分钟移动一个方格,上、下、左、右,四个方向中的一个。火势向四个方向同时蔓延。乔可以从迷宫的任何一个边界逃离迷宫。无论是乔还是火都不会到达有墙的位置。输入第一行输入包含一个整数,即测试次数每个测试用例的第一行包含两个整数R和C,用空格分隔,1≤R,C≤1000下面R行中,每一行都包原创 2020-12-18 20:41:08 · 129 阅读 · 1 评论 -
//FZU - 2150 //多起点bfs 结构
题目:两个熊孩子在n*m的平地上放火玩,#表示草,两个熊孩子分别选一个#格子点火,火可以向上向下向左向右在有草的格子蔓延,点火的地方时间为0,蔓延至下一格的时间依次加一。求烧完所有的草需要的最少时间。如不能烧完输出-1。Input第一行,输入一个T,表示有T组测试数据。每组数据由一个n,m分别表示行列1 <= T <=100, 1 <= n <=10, 1 <= m <=10Output输出最少需要的时间>Sample Input43 3.#..原创 2020-12-18 20:19:48 · 89 阅读 · 2 评论 -
Dungeon Master POJ - 2251
题意zjm被困在一个三维的空间中,现在要寻找最短路径逃生!空间由立方体单位构成。zjm每次向上下前后左右移动一个单位需要一分钟,且zjm不能对角线移动。空间的四周封闭。zjm的目标是走到空间的出口。是否存在逃出生天的可能性?如果存在,则需要多少时间?Input输入第一行是一个数表示空间的数量。每个空间的描述的第一行为L,R和C(皆不超过30)。L表示空间的高度,R和C分别表示每层空间的行与列的大小。随后L层,每层R行,每行C个字符。每个字符表示空间的一个单元。’#‘表示不可通过单元,’原创 2020-12-13 15:16:34 · 102 阅读 · 0 评论 -
Catch That Cow POJ - 3278
题意:一条线上两个点n和k,k点不动,n点可以移动,有三种移动方法,向左移动一位,向右移动一位,和向右移动到当前位置的下标的两倍位置、即2*pos处;n、k<=100000;解:可以通过bfs(广度优先收索来做)注意vis的作用是来减少重复的访问某个节点,不设的化会超时!!当k<=n时显然步数为n-k步当k>n时bfs()ac代码#include<iostream>#include<algorithm>#include<queue>#i原创 2020-12-13 11:49:27 · 78 阅读 · 0 评论