AlgoMooc
← 返回题库

P3516. 数值同化

中等通过率 79% · 提交 118 · 通过 93
DFSBFS模拟矩阵DFS/BFS

小慕有一个 m 行 n 列的二维网格,网格中的每个格子取值只能是 0、1 或 2。其中,值为 1 的格子具有扩散能力:每过 1 秒,它会将上下左右四个方向上值为 0 的格子为 1,而值为 2 的格子则对这种同化免疫。小慕先将网格中的所有格子随机设为 0 或 2,然后将网格左上角 [0,0] 位置的值改为 1。经过足够长的时间后,小慕想知道最终网格中还有多少个格子是 0 或 2(即值为 0 和值为 2 的格子总数)。

提示:带虚线的词点一下有通俗解释。

输入描述

输入的前两个数字是矩阵大小。后面的数字是矩阵内容。

输出描述

返回数字中非1的元素个数

示例

示例 1

输入

2 3
2 2 2
2 2 2

输出

5

说明:起始点 (0,0) 强制改为1,其余均为2且免疫同化,剩余非1元素为5。

示例 2

输入

4 5
0 0 2 0 0
0 2 0 2 0
0 0 0 0 0
2 2 0 2 0

输出

6

说明:从 (0,0) 开始,同化所有可达的0,部分0因被2阻隔未同化,加上所有2元素,最终剩余6个非1元素。

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解(训练营专属)

登录后查看题目图解

题目图解为训练营学员专属内容,请先登录。

微信扫码登录还不是训练营学员?了解训练营 →
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「数值同化」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。