【华为OD统一考试B卷 】需要打开多少监视器 python

该博客探讨了在某长方形停车场中,根据车辆停放情况如何最小化监控器开启数量的问题。给出了输入描述、输出描述及示例,并提出了直接遍历的简单解决思路。通过解决实际场景中的问题,展示了Python在处理这类问题上的应用。
摘要由CSDN通过智能技术生成

‘’’
某长方形停车场,每个车位上方都有对应监控器,当且仅当在当前车位或者前后左右四个方向任意一个车位范围停车时,监控器才需要打开:
给出某一时刻停车场的停车分布,请统计最少需要打开多少个监控器
输入描述
第一行输入m,n表示长宽,满足1 < m,n <= 20;
后面输入m行,每行有n个0或1的整数,整数间使用一个空格隔开,表示该行已停车情况,其中0表示空位,1表示已停:
输出描述
最少需要打开监控器的数量
示例1:
输入
3 3
0 0 0
0 1 0
0 0 0
输出
5
说明
中间1的位置上需要打开监视器,且其上下左右皆需要打开监视器,共5个。
思路
1:输入数据范围很小,直接遍历一把就行了

代码实现

input_param = [int(x) for x in input().split()]
m = input_param[0]
n = input_param[1]
matrix = []
for i in range(m):
    matrix.append([int(x) for x in input().split()])
directions = [[-1, 0], [1, 0], [0, 1], [0, -1]]
result = 0
for x in range(m):
    for y in range(n):
        if (matrix[x][y] == 1):
            result += 1
            continue
        for i in range(
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值