一道可以用dfs做的题目(大佬勿喷)
总体思路如下:
1 用一个bool数组存放每个位置是否为细胞数字
2 输入,如果这个数大于0,把这个位置标记为1
3 枚举每一个位置,如果是细胞数字就开始搜,同时答案加1
4 输出
深搜部分:
1 把这个位置标记为0
2 枚举四个方向,如果是细胞数字就从这个位置继续搜
(就是把所有连通的细胞数字都标记为0,周围再也没有细胞数字了就代表一个细胞)
代码如下:
1 |
|
「深藏不露是一种卓越的才能」
1 用一个bool数组存放每个位置是否为细胞数字
2 输入,如果这个数大于0,把这个位置标记为1
3 枚举每一个位置,如果是细胞数字就开始搜,同时答案加1
4 输出
1 把这个位置标记为0
2 枚举四个方向,如果是细胞数字就从这个位置继续搜
(就是把所有连通的细胞数字都标记为0,周围再也没有细胞数字了就代表一个细胞)
1 | #include<bits/stdc++.h> |