【华为OD机试真题 C语言】3、 路灯照明问题 | 机试真题+思路参考+代码解析

news/2024/11/25 5:20:08/

文章目录

    • 一、题目
      • 🎃题目描述
      • 🎃输入输出
      • 🎃样例1
      • 🎃样例2
    • 二、思路参考
    • 三、代码参考
      • 🏆C语言
  • 作者:KJ.JK


🍂个人博客首页: KJ.JK
 
🍂专栏介绍: 华为OD机试真题汇总,定期更新华为OD各个时间阶段的机试真题,每日定时更新,本专栏将使用C语言进行更新解答,包含真题,思路分析,代码参考,欢迎大家订阅学习

一、题目


🎃题目描述

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


🎃输入输出

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


🎃样例1

输入
4 
50 70 20 70输出1
20说明:
路灯1 覆盖0-50
路灯2 覆盖30-170
路灯3 覆盖180-220
路灯4 覆盖230-370

🎃样例2

输入
2
50 50输出1
0说明:
路灯1覆盖0-50,路灯2覆盖50-100,路灯1和路灯2之间(0-100)无未覆盖的区间

二、思路参考

首先,根据输入的路灯个数N,以及照明半径数组,我们需要确定每个路灯的位置范围。
根据题目描述,路灯之间的间距固定为100米,所以可以计算出每个路灯的起始位置和终止位置。
然后,我们需要确定第一个路灯和最后一个路灯之间无法照明的区间。
如果第一个路灯的起始位置大于0,则第一个路灯前面的区间无法照明,长度为第一个路灯的起始位置。
如果最后一个路灯的终止位置小于100 * (N - 1),则最后一个路灯后面的区间无法照明,长度为100 * (N - 1) - 最后一个路灯的终止位置。
对于两个相邻的路灯i和i+1,如果路灯i+1的起始位置大于路灯i的终止位置,则这两个路灯之间存在无法照明的区间,长度为路灯i+1的起始位置减去路灯i的终止位置。
将以上计算得到的无法照明区间长度累加即可得到结果。


三、代码参考


🏆C语言


#include <stdio.h>int main() {int N;scanf("%d", &N);int radii[N];for (int i = 0; i < N; i++) {scanf("%d", &radii[i]);}int firstLampStart = 0;int lastLampEnd = 100 * (N - 1);int unlitInterval = 0;for (int i = 0; i < N; i++) {int lampStart = i * 100 - radii[i];int lampEnd = i * 100 + radii[i];if (i == 0 && lampStart > 0) {unlitInterval += lampStart;}if (i == N - 1 && lampEnd < lastLampEnd) {unlitInterval += lastLampEnd - lampEnd;}if (i > 0) {int prevLampEnd = (i - 1) * 100 + radii[i - 1];if (lampStart > prevLampEnd) {unlitInterval += lampStart - prevLampEnd;}}}printf("%d\n", unlitInterval);return 0;
}

作者:KJ.JK


http://www.ppmy.cn/news/292769.html

相关文章

戴尔在哪看计算机的显卡,戴尔电脑显卡天梯图,2018dell电脑显卡天梯图新版

下载吧为大家带来2018戴尔电脑显卡天梯图新版(更新至2018年3月)。大家根据自己的戴尔电脑的具体硬件配置&#xff0c;看自己自己的电脑中显卡型号&#xff0c;然后对照下面的新的dell电脑显卡天梯图&#xff0c;显卡性能排行榜就可以知道自己的显示目前的性能排名&#xff0c;如…

【华为OD机试真题 C语言】1、滑动窗口最大值 | 机试真题+思路参考+代码解析

文章目录 一、题目&#x1f383;题目描述&#x1f383;输入输出&#x1f383;样例1 二、思路参考三、代码参考&#x1f3c6;C语言代码 作者&#xff1a;KJ.JK &#x1f342;个人博客首页&#xff1a; KJ.JK &#x1f342;专栏介绍&#xff1a; 华为OD机试真题汇总&#xff0c…

电脑显卡html接口无信号,笔记本电脑HDMI连接电视机显示无信号的解决方法

记本HDMI连接电视机显示无信号,怎么处理?现在的液晶电视,HDMI(高清晰度多媒体接口)是标配,通常是用PC或是平板电脑输出影像,通过电视屏幕来显示,当遇到笔记本HDMI连接电视机显示无信号该怎么解决呢?下面,我们就一起来看看笔记本电脑HDMI连接电视机显示无信号的解决方法…

使用ATI9550显卡实现显示器和电视同步显示

使用ATI9550显卡实现显示器和电视同步显示 近日装一视频会议&#xff0c;要把视频信号在电视上显示&#xff0c;以便更多的人可以参加视频会议&#xff01;所以采用了带S端子输出的显卡&#xff01; 我用的是ATI9550的&#xff0c;好像和nVIDIA同一个蕊片的&#xff0c;装上后由…

【数据分析之道-Matplotlib(八)】Matplotlib箱线图

文章目录 专栏导读1、Matplotlib箱线图boxplot()基本语法2、Matplotlib箱线图boxplot()举例异常值3、Matplotlib箱线图boxplot()样式定义4、Matplotlib箱线图boxplot()举例带缺口5、Matplotlib箱线图boxplot()举例横向显示6、Matplotlib箱线图boxplot()举例显示平均值7、Matplo…

传统ERP软件如何SaaS化?

01 ERP和SaaS ERP概念 企业资源计划 (ERP) 系统是许多企业的主干&#xff0c;助力管理整个企业内的会计、采购流程、项目等。对于许多 IT 部门而言&#xff0c;ERP 系统通常意味着大型、昂贵且耗时的部署&#xff0c;并可能需要进行大量硬件或基础设施投资。然而&#xff0c;云…

若依集成分库分表(一)

1.本次需求为同库分表 1.1 引入pom依赖 <!-- sharding-jdbc分库分表 --> <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-core</artifactId><version>4.1.1</version> </dependenc…