DFS——黑色瓷砖

简介: DFS——黑色瓷砖

image.png

image.png算法思想:其实就是dfs,注意每次访问过的黑色瓷砖标记成白色瓷砖,return向四个方向展开。

int digui(int x, int y, char array[][6]) {
  if (x < 0 || x >= 5 || y < 0 || y >= 5) {
    return 0;
  }
  if (array[x][y] == '#') {
    return 0;
  }
  else {//要么写else,要么写if(array[x][y]=='.'||array[x][y]=='@')
    array[x][y] = '#';//将已经走过的黑砖设置为白砖防止重复走
    //向四个方向递归寻找黑砖,找到一块黑砖,就总数+1.
    return 1 + digui(x - 1, y, array) + digui(x + 1, y, array) + digui(x, y - 1, array) + digui(x, y + 1, array);
  }
}


相关文章
|
6月前
|
算法
Hierholzer算法dfs找欧拉回路模板
Hierholzer算法dfs找欧拉回路模板
69 0
|
算法
DFS深度优先搜索
DFS深度优先搜索
|
存储 算法 PHP
深度优先搜索(DFS)
深度优先搜索(DFS)
236 0
深度优先搜索(DFS)
|
存储 C++
C++实现图 - 02 图的遍历(DFS、BFS)
上一讲我们对图有了一个大概的了解,但是只讲了如何存储图,还没有讲如何遍历图。这一讲我们来介绍图的遍历方式,一共分为深度优先搜索(DFS)和宽度优先搜索(BFS)。
526 0
C++实现图 - 02 图的遍历(DFS、BFS)
|
算法
【29. DFS深度优先】
# 概述 - DFS:深度优先遍历,从一条路径走到叶节点,然后回溯,继续遍历(不撞南墙不回头) - BFS:广度优先遍历,从根节点,一层一层的遍历,每一层把所有的节点都遍历完成。 ## 递归思想 - 递归在于不断调用自己的函数,层层深入,直到遇到递归终止条件后层层回溯,其思想与dfs的思想不谋而合;因此,可以使用递归来实现dfs。 - 递归的进入比较容易理解,但是递归的回溯是在计算机底层执行的,我们无法看到。因此这是理解递归的唯一一个难点。
134 0
【29. DFS深度优先】
7-121 深入虎穴 (25 分)(dfs,bfs)
7-121 深入虎穴 (25 分)(dfs,bfs)
162 0
图的遍历——BFS、DFS
图的两种遍历,深度优先遍历DFS、广度优先遍历BFS
334 1
图的遍历——BFS、DFS