2358. 苹果树采摘区域统计

1000ms 256MB 简单 深度优先搜索 BFS
题目描述
给定一个 $N \times M$ 的网格矩阵,表示一个采摘园的布局。矩阵中的每个格子代表一棵果树,其状态用数字表示: - `1` 表示苹果树。 - `2` 表示梨树。 - `6` 表示采摘的起点(起点也是一棵苹果树)。 从起点出发,只能在相邻的苹果树(值为 `1` 或 `6`)之间移动(即在上下左右四个方向上移动),不能跨越或移动到梨树(值为 `2`)上。 请编写程序,计算从起点出发,最多可以到达多少棵苹果树(计算结果包含起点苹果树)。
输入格式
- 第一行包含两个以空格隔开的正整数 $N$ 和 $M$ ($2 < N < 51, \quad 2 < M < 51$),分别表示果树的行数和列数。 - 接下来 $N$ 行,每行包含 $M$ 个以空格隔开的整数,表示每个格子的树木类型(值为 `1`、`2` 或 `6`)。
输出格式
- 输出一行一个整数,表示从起点出发可以到达的苹果树总数。
样例 1
输入 (Input)
3 4
2 1 2 1
1 6 1 2
1 1 1 2
输出 (Output)
7
样例说明
- 对于 $100\%$ 的数据:$2 < N < 51, \quad 2 < M < 51$,且输入矩阵中仅包含一个 `6`。 - **样例说明**: 在输入的 $3 \times 4$ 矩阵中,起点 `6` 位于坐标 $(1, 1)$。可达的苹果树包括起点本身,以及通过连通路径可以到达的 6 棵值为 `1` 的苹果树。右上角的苹果树由于被梨树隔离,无法到达。因此可达苹果树总数为 7。 - **算法提示**: 这是一个经典的连通块搜索问题,可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来实现。
自测终端 stdin → stdout
输入 stdin
CtrlShiftEnter
输出 stdout

                
错误 stderr

                
CtrlEnter提交
自动保存已开启
操作成功
wzs_oj@kernel:~ — wzs-sh
guest@wzsoj:~$
刷新页面 F5
复制 Ctrl+C
粘贴 Ctrl+V
搜索题目
站点公告
今日神谕
CSP 倒计时
排行榜
我的提交
Esc 关闭 Enter 跳转 支持模糊匹配数字