题目描述
【问题描述】
一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字为同一细胞,求所给矩形阵列的细胞个数。如下阵列有4个细胞。
0234500067
1034560500
2045600671
0000000089
Input
【输入格式】
整数m、n(m行n列)矩阵
【输入样例】
4 10
0234500067
1034560500
2045600671
0000000089
Output
【输出格式】
细胞的个数
【输出样例】
4
代码如下
#include <iostream>
#include <vector>
using namespace std;
// 定义方向数组,用于上下左右移动
int dx[] = {-1, 1, 0, 0};
int dy[] = {0, 0, -1, 1};
void dfs(vector<vector<int>>& grid, int x, int y) {
// 标记当前位置为已访问
grid[x][y] = 0;
// 遍历四个方向
for (int i = 0; i < 4; ++i) {
int nx = x + dx[i];
广度优先搜索:计算矩形阵列细胞个数

最低0.47元/天 解锁文章
674

被折叠的 条评论
为什么被折叠?



