BFS
豫彧
业精于勤荒于嬉,行成于思毁于随。
展开
-
hud4528 题解小明系列故事——捉迷藏
四维数字+BFS: 本题需要记录已经发现大明(D)和二明(E)的状态,所以需要用一个四维数组vis分别记录发现D和E和位置x,y的坐标。 匪夷所思为什么要用四维数组,因为当你发现其中D或者E其中一个后,之前的路已经被标记,但我们仍然需要继续搜索,并且可能需要走已经走过的路线。 这样我们就不可以只标记位置xy了,vis[0][0][6][6]==1记录走过,发现了D后可能需要记录继续走[6][6]这个点,去找E。那么则搜查就变成了去搜素vis[1][0][6][6]这个点是否走过,这样才可以走这个点。 Des原创 2020-09-12 11:51:05 · 207 阅读 · 0 评论 -
迷宫系列之bfs+优先队列
Description "Z"代表zser学长。 "*"代表墙。 "+"代表路。 "P"代表守卫。 "F"代表解救zser学长的盟友。 求盟友解救zser的最小步数,规定盟友非常强大足以击败所有的护卫,并且走护卫这个点的时间为2(因为解决护卫需要时间),走普通道路时间为1.规定护卫和zser不会动,盟友只能向上,下,左,右. Input 输入一个T,表示T组数据。T<=100 输入 : 第一行输入两个整数代表n,m(1<=n,m<=200). 紧接着是n行,每行有m个字符. Output原创 2020-08-12 10:20:50 · 258 阅读 · 0 评论 -
迷宫二T1596 bfs与dfs
一道经典迷宫题目:使用bfs与dfs都可以解,bfs时间复杂度高一点 非常非常好的题 Description> 第一行输入两个整数n和 m,表示这是一个 n×m 的迷宫。接下来的输入一个 n 行 m 列的迷宫。其中 ‘S’ 表示蒜头君的位置,’*‘表示墙,蒜头君无法通过,’.‘表示路,蒜头君可以通过’.'移动,'T’表示迷宫的出口(蒜头君每次只能移动到四个与他相邻的位置——上,下,左,右)。 输出蒜头君逃出迷宫的最少步数,如果蒜头君无法逃出迷宫输出 −1。 Inpot> 3 4 S**. …*.原创 2020-07-27 22:45:55 · 293 阅读 · 2 评论