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

OD 算法题 B卷【路灯照明II】

文章目录

  • 路灯照明II

路灯照明II

  • 在一条笔直的公路上安装了N个路灯,从位置0开始安装,间距固定为100米;
  • 每个路灯都有自己的照明半径,计算第一个路灯和最后一个路灯之间,无法照明的区间长度和;

输入描述:
第一行输入路灯个数N;
第二行输入路灯照明半径
输出描述:
第一个路灯和最后一个路灯之间,无法照明的区间长度和;

示例1
输入:
2
50 50
输出:
0

示例2
输入:
4
50 70 20 70
输出:
20

python实现:

  • 区间合并问题,计算区间,区间排序

n = int(input().strip())
arr = list(map(int, input().strip().split()))
internal = 100# 计算每个路灯的覆盖区间
cover_area = []
for i in range(n):if i == 0:start = 0end = arr[i]elif i != n - 1:start = i * internal - arr[i]end = i * internal + arr[i]else:start = i * internal - arr[i]end = i * internalcover_area.append([start, end])# 按照每个区间的起始值升序排序
cover_area.sort(key=lambda i:i[0])# 计算阴影区域
result = 0
for i in range(1, n, 1):if cover_area[i][0] <= cover_area[i-1][1]:# 无阴影continueresult += cover_area[i][0] - cover_area[i-1][1]print(result)
http://www.xdnf.cn/news/1039393.html

相关文章:

  • C++如何自己实现一个shared_ptr
  • Flutter网络请求完全指南:http与Dio库深度解析
  • 如何安全高效地维护CMS智能插件?
  • JavaScript基础-DOM事件流
  • 零基础入门PCB设计 一实践项目篇 第二章(开发板电源设计)
  • 力扣Hot100每日N题(15~16)
  • 基于docker技术的单主机环境模拟测试批量客户端
  • Vue3 响应式翻牌抽奖游戏
  • 【系统分析师】第5章-基础知识:数据库系统(核心总结)
  • 并行编程实战——CUDA编程介绍
  • 嵌入式PADS中生产资料导出操作与实现
  • NCNN 模型文件的生成流程详解
  • 鸿蒙系统备份恢复
  • 【0.4 漫画计算机网络基础】
  • 思科资料-ACL的基础配置-详细总结
  • UGPCL
  • 德国马克斯·普朗克数学研究所:几何朗兰兹猜想
  • 上位机开发中的设计模式(3):装饰器模式
  • SCADE Suite / Scade 6 官方参考材料介绍
  • 理论物理学中的规范场论与全息原理
  • 6.14星期六休息一天
  • 单片机 - STM32F407 ADC 模式详解:单次转换、连续转换、扫描模式、非扫描模式
  • 项目 【Http】第二讲---CGI机制的介绍
  • 【Unity】使用 C# SerialPort 进行串口通信
  • Java 常用类 Math:从“如何生成随机密码”讲起
  • LCEL:LangChain 表达式语言详解与测试工程师的实践指南
  • 钉钉机器人-自定义卡片推送快速入门
  • wget批量调用shell脚本
  • C#里与嵌入式系统W5500网络通讯(7)
  • 有关Spring事务的传播机制