当前位置: 首页 > news >正文

OD 算法题 B卷 【需要打开多少监视器】

文章目录

  • 需要打开多少监视器

需要打开多少监视器

  • 某长方形停车场,每个车位上方都有对应监控器,在当前车位和前后左右四个方向任意一个车位范围停车时,监控器才需要打开。
  • 给出某一时刻停车场的停车分布,统计最少需要打开多少个监控器;
    输入描述:
    第一行输入m,n表示长宽;
    后面输入m行,每行有n个0/1,1表示有停车;
    输出描述:
    最少需要打开的监控器的数量

示例1:
输入:
3 3
0 0 0
0 1 0
0 0 0
输出:
5
示例2:
输入:
5 6
1 0 0 0 1 1
0 0 1 1 0 1
0 0 1 1 1 1
1 0 0 0 1 0
0 0 0 0 0 0
输出:
26

python实现:
思路:

  1. 遍历m行n列,判断每个位置的监控是否需要打开;
  2. 当前位置+四个方向,任意一个位置有1则需要打开该位置的监控;
# 输入行 列
m, n = [int(x) for x in input().split()]# 输入停车分布
arr = []
for i in range(m):arr.append([int(x) for x in input().split()])# 遍历每个位置
result = 0
for i in range(m):for j in range(n):if arr[i][j] != 1:# 如果当前不为1,则判断四个方向的情况left = (j-1 >= 0) and arr[i][j-1] == 1right = (j+1 < n) and matrix[i][j+1] == 1top = (i-1 >= 0) and matrix[i-1][j] == 1bottom = (i+1 < m) and matrix[i+1][j] == 1if any([left, right, top, bottom]):result += 1else:# 当前位置为1,则直接打开监控result += 1print(result)

 

相关文章:

  • 算法打卡第一天
  • 每日算法刷题Day10 5.19:leetcode不定长滑动窗口求最长/最大4道题,结束定长滑动窗口,用时1h
  • 大模型的开发应用(三):基于LlaMAFactory的LoRA微调(上)
  • CSS之box-sizing、图片模糊、计算盒子宽度clac、(重点含小米、进度条案例)过渡
  • 再议AOI算法
  • 谈谈mysql的日志的用途
  • Google精准狙击OpenAI Codex,发布AI编程助手Jules!
  • Kubernetes在线练习平台深度对比:KillerCoda与Play with Kubernetes
  • Rofin PowerLine E Air维护和集成手侧激光Maintenance and Integration Manual
  • 本地ip如何映射到外网?借助端口映射软件把内网地址给别人用
  • Python 包管理工具核心指令uv sync解析
  • 学习STC51单片机08(芯片为STC89C52RC)
  • 五、central cache的设计
  • unity XCharts插件生成曲线图在UICanvas中
  • TrollStore(巨魔商店)的由来介绍
  • 山东大学计算机图形学期末复习完结篇上——24历年题
  • CAU数据库class3 关系型数据库基础
  • 2001-2023年上市公司管理讨论与分析文本数据(MDA文本数据)
  • 【算法】定长滑动窗口5.20
  • 十五、面向对象底层逻辑-BeanDefinitionRegistryPostProcessor接口设计
  • 洋山特殊综合保税区累计进出口货值超1万亿元
  • 演员辛柏青发讣告,妻子朱媛媛去世
  • 扬子晚报原副总编辑俞适逝世,享年89岁
  • 上海文化馆服务宣传周启动,为市民提供近2000项活动
  • 红星控股重整期间实控人被留置后续:重整草案不会修改,涉车建兴职责已调整
  • 电子凭证会计数据标准推广至全国