华为OD统一考试 -计算面积

题目描述

绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线。

1. 尝试沿着横线坐标正向绘制直线直到给定的终点E

2. 期间可以通过指令在纵坐标轴方向进行偏移,offsetY为正数表示正向偏移,为负数表示负向偏移

给定的横坐标终点值E 以及若干条绘制指令,

请计算绘制的直线和横坐标轴以及x=E的直线组成的图形面积。

输入描述

  • 首行为两个整数 N 和 E
  • 表示有N条指令,机器运行的横坐标终点值E
  • 接下来N行 每行两个整数表示一条绘制指令x offsetY
  • 用例保证横坐标x以递增排序的方式出现
  • 且不会出现相同横坐标x

取值范围

  • 0<N<=10000
  • 0<=x<=E<=20000
  • -10000<=offsetY<=10000

输出描述

  • 一个整数表示计算得到的面积 用例保证结果范围在0到4294967295之内。

用例

输入

4 10

1 1

2 1

3 1

4 -2

输出

12

说明

输入

2 4

0 1

2 -2

输出

4

说明

题目解析

注意下面每个拐点上标记不是坐标信息,而是 (x,offsetY),其中offsetY是偏移

示例1图示

示例2图示 

这题将图画出来后,可能大家的思路就打开了。

我的解题思路是这样的,将上面红色线框对应的复杂图形的面积求解,切割为横轴上每个单位长度的矩形面积求解,而每单位长度的矩形面积就等于对应的高度,即纵轴坐标的绝对值,因此我们只需要将offsetY偏移转为纵坐标的即可。

而题目描述中:用例保证横坐标x以递增排序的方式出现。

这里只强调递增没有强调连续,因此我们需要考虑不连续的offsetY转纵坐标的场景,其实也很简单,断档的offsetY其实默认为0。

import 

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2024华为OD机试卷题 文章被收录于专栏

本专栏给大家提供了华为2024最新华为OD 题目汇总。华为OD机试刷题记录机考算法题库,帮助你上岸华为。提供C++/Java、JavaScript、Python四种语言的解法。

全部评论
华为OD统一考试 -计算面积
点赞 回复 分享
发布于 2024-09-21 07:43 四川

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务