最新华为OD机试
2025华为od 机试2025B卷-华为机考OD2025年B卷
题目描述
绘图机器的绘图笔初始位置在原点(0,0)机器启动后按照以下规则来进行绘制直线。
- 尝试沿着横线坐标正向绘制直线直到给定的终点E
- 期间可以通过指令在纵坐标轴方向进行偏移,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之内。
示例1
输入
4 10
1 1
2 1
3 1
4 -2
输出
12
说明
示例2
输入
2 4
0 1
2 -2
输出
4
解题思路
绘图机器问题解题思路
这道题目要求计算绘图机器绘制的图形面积。分析如下:
问题理解
- 绘图机器从原点(0,0)开始绘制
- 沿着x轴正方向绘制直线,直到终点E
- 在指定的x坐标处可以在y方向进行偏移
- 要计算的是绘制的直线与x轴以及x=E的直线所围成的图形面积
解题思路
-
建立坐标系模型:
- 绘图轨迹可以看作是从(0,0)开始,按照给定的指令在坐标系中移动的折线
- 最终要计算的是这条折线与x轴和x=E的垂线所围成的图形面积
-
处理指令:
- 创建了一个长度为E的数组
offsets
来存储每个x坐标位置的y方向偏移量 - 对于输入的每条指令(x, offsetY),将offsetY存储在offsets[x]中
- 创建了一个长度为E的数组
-
计算当前位置的y坐标:
- 使用数组
dp
来记录每个x坐标位置的实际y坐标 - dp[0] = offsets[0]
- 对于i>0,dp[i] = offsets[
- 使用数组