华为OD机试-需要打开多少监控器(Java 2024 E卷 100分)

题目描述

在一个长方形停车场内,每个车位上方都有一个监控器。当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开。给定某一时刻停车场的停车分布,请统计最少需要打开多少个监控器。

输入描述

  • 第一行输入 ( m, n ) 表示长宽,满足 ( 1 < m, n \leq 20 )。
  • 后面输入 ( m ) 行,每行有 ( n ) 个 0 或 1 的整数,整数之间使用一个空格隔开,表示该行停车情况,其中 0 表示空位,1 表示已停。

输出描述

最少需要打开监控器的数量。

解题思路

我们可以遍历停车场的每个车位,如果该车位或它的上下左右任意一个车位有车停,则该车位的监控器需要打开。我们可以使用一个二维数组来记录每个车位是否需要打开监控器。

代码实现

Java
import java

你可能感兴趣的:(华为OD机试,华为OD,机试,算法,Java,Python,C++,JavaScript)