#P6605. 腐烂的橘子

腐烂的橘子

当前没有测试数据。

题目描述 在一个大小为 rows × cols 的网格地图中,每个单元格可以有以下三种状态之一:

0 表示该单元格为空; 1 表示该单元格有一个好橘子; 2 表示该单元格有一个坏橘子。 每分钟,与坏橘子相邻(上、下、左、右四个方向)的好橘子都会变坏。如果单元格为空,则不会发生任何变化。

给定地图的初始状态,请计算并返回直到地图中没有好橘子为止所必须经过的最小分钟数。如果不可能全部变坏,则返回 -1。

输入格式 第一行包含两个整数 rows 和 cols,表示网格的行数和列数。 接下来 rows 行,每行包含 cols 个整数,表示网格的初始状态。

输出格式 输出一个整数,表示所有橘子变坏所需的最小分钟数。如果不可能全部变坏,则输出 -1。

示例 输入 3 3 2 1 1 1 1 0 0 1 1 输出 4