华为OD机试 - 绘图机器 - 双指针(Python/JS/C/C++ 新系统 100分)

发布时间:2026/10/10 15:26:29

华为OD机试 - 绘图机器 - 双指针(Python/JS/C/C++ 新系统 100分) 华为OD机试 双机位C卷题库疯狂收录中刷题点这里专栏导读本专栏收录于《华为OD机试真题Python/JS/C/C》。刷的越多抽中的概率越大私信哪吒备注华为OD加入华为OD刷题交流群每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景发现新题目随时更新。一、题目描述绘图机器的绘图笔初始位置在原点(0,0) 机器启动后按照以下规则来进行绘制直线。尝试沿着横线坐标正向绘制直线 直到给定的终点E期间可以通过指令在纵坐标轴方向进行偏移 offsetY为正数表示正向偏移,为负数表示负向偏移。给定的横坐标终点值E 以及若干条绘制指令 请计算绘制的直线和横坐标轴以及xE的直线组成的图形面积。二、输入描述首行为两个整数N 和 E 表示有N条指令, 机器运行的横坐标终点值E接下来N行 每行两个整数表示一条绘制指令x offsetY。用例保证横坐标x以递增排序的方式出现 且不会出现相同横坐标x。三、输出描述一个整数表示计算得到的面积 用例保证结果范围在0到4294967295之内。1、输入4 101 12 13 14 -22、输出123、说明四、解题思路核心解题思想横坐标每前进一步计算与上一步之间形成的正方形面积。五、测试用例1、输入4 101 -33 24 36 -52、输出233、说明如图所示通过肉眼可以看出第一块面积是6第二块面积为1第三课面积为4第四块面积为12共23六、Python算法源码defmain():# 读取输入linelist(map(int,input().strip().split()))# N条指令Nline[0]# 终点Eline[1]# 读取N条指令arrs[]for_inrange(N):arrlist(map(int,input().strip().split()))arrs.append(arr)# 总面积area_sum0x_leftarrs[0][0]y_leftarrs[0][1]x_right0foriinrange(1,len(arrs)):x_rightarrs[i][0]y_rightarrs[i][1]# 每执行一个指令计算一次面积area(x_right-x_left)*abs(y_left)area_sumarea# 重置x左坐标x_leftx_right# 重置y左坐标y_lefty_lefty_right# 如果未到达终点最后沿X横坐标走向终点ifx_rightE:area_sum(E-x_right)*abs(y_left)print(area_sum)if__name____main__:main()七、JavaScript算法源码functionmain(){constreadlinerequire(readline-sync);// 读取第一行输入包含N和Econstlinereadline.question().trim().split( ).map(Number);constNline[0];// N条指令constEline[1];// 终点// 读取N条指令constarrs[];for(leti0;iN;i){constarrreadline.question().trim().split( ).map(Number);arrs.push(arr);}// 总面积letareaSum0;letxLeftarrs[0][0];letyLeftarrs[0][1];letxRight0;for(leti1;iarrs.length;i){xRightarrs[i][0];constyRightarrs[i][1];// 每执行一个指令计算一次面积constarea(xRight-xLeft)*Math.abs(yLeft);areaSumarea;// 重置x左坐标xLeftxRight;// 重置y左坐标yLeftyLeftyRight;}// 如果未到达终点最后沿X横坐标走向终点if(xRightE){areaSum(E-xRight)*Math.abs(yLeft);}console.log(areaSum);}// 执行主函数main();八、C算法源码#includestdio.h#includestdlib.h#includemath.hintmain(){intN,E;// 读取第一行输入包含N和Escanf(%d %d,N,E);// 用来存储指令的二维数组intarrs[N][2];// 读取N条指令for(inti0;iN;i){scanf(%d %d,arrs[i][0],arrs[i][1]);}// 总面积intareaSum0;intxLeftarrs[0][0];intyLeftarrs[0][1];intxRight0;for(inti1;iN;i){xRightarrs[i][0];intyRightarrs[i][1];// 每执行一个指令计算一次面积intarea(xRight-xLeft)*abs(yLeft);areaSumarea;// 重置x左坐标xLeftxRight;// 重置y左坐标yLeftyLeftyRight;}// 如果未到达终点最后沿X横坐标走向终点if(xRightE){areaSum(E-xRight)*abs(yLeft);}// 输出总面积printf(%d\n,areaSum);return0;}九、C算法源码#includeiostream#includecmath#includevectorusingnamespacestd;intmain(){intN,E;// 读取第一行输入包含N和EcinNE;// 用来存储指令的二维数组vectorpairint,intarrs(N);// 读取N条指令for(inti0;iN;i){cinarrs[i].firstarrs[i].second;}// 总面积intareaSum0;intxLeftarrs[0].first;intyLeftarrs[0].second;intxRight0;for(inti1;iN;i){xRightarrs[i].first;intyRightarrs[i].second;// 每执行一个指令计算一次面积intarea(xRight-xLeft)*abs(yLeft);areaSumarea;// 重置x左坐标xLeftxRight;// 重置y左坐标yLeftyLeftyRight;}// 如果未到达终点最后沿X横坐标走向终点if(xRightE){areaSum(E-xRight)*abs(yLeft);}// 输出总面积coutareaSumendl;return0;}下一篇华为OD机试真题 - 简易内存池Python/JS/C/C 双机位C卷 200分本文收录于华为OD机试真题Python/JS/C/C刷的越多抽中的概率越大私信哪吒备注华为OD加入华为OD刷题交流群每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景发现新题目随时更新。
延伸阅读

更多相关文章

2026/10/10 15:25:50

手柄轮询率怎么测?XInputTest三分钟给你一份真实延迟报告

手柄轮询率怎么测?XInputTest三分钟给你一份真实延迟报告 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 手柄轮询率测试是判断手柄"跟不跟手"最直接的…

2026/10/10 15:23:12

程序员真实工作流:从写代码到让系统持续运转

1. 这不是职业说明书,而是一份“程序员生存实录”“程序员是做什么的”——这个问题我被问过至少两百次。问的人里,有刚高考完填志愿的高中生,有想转行的35岁销售主管,有给孩子挑兴趣班的家长,甚至还有某高校教务处老师…

2026/10/10 15:23:12

WinCC用户归档实战:从建表到SQL查询的完整指南

简介:WinCC用户归档案例是一份面向工业自动化工程师的SCADA数据管理实践资源,聚焦西门子WinCC中用户归档功能与动作、标准模块的协同应用。资源通过具体项目演示如何配置归档触发条件,利用动作响应变量变化或按钮事件来启动归档,同…

2026/10/10 15:23:12

个人知识管理进阶:从笔记库存到可调用资产的版本迭代实践

“1.27的学习笔记”这个标题,如果你以为是某个人在某年1月27号随手记的流水账,那恐怕要失望了。对我来说,“1.27”是我个人知识管理系统的版本号——从我开始正经搭这套学习笔记体系起,已经迭代到第1.27个小版本了。这篇笔记不打算…

2026/10/10 15:23:12

SAP BTP ABAP环境证书配置实战:从信任链到TLS排障的完整指南

从一次半夜的“证书报错”说起。我负责的一个ABAP环境(SAP BTP ABAP environment)集成项目里,某天凌晨出站接口突然大面积失败,日志里只有一句话:证书校验失败。当时大家第一反应都是“证书不是云平台自动管的吗&#…

2026/10/10 15:23:12

SOAP/OData/Event错误日志业务目录:角色分配与权限治理实战

我先把这个标题拆开聊两句。很多人一看到“SOAP / OData / Event 错误日志业务目录”这种说法,第一反应是“这不就是给接口配几个错误码嘛”,结果真正上手才发现,事情远没有那么简单——数据接口报错不是只有一个日志文件,而是散落…

2026/10/10 15:18:11

编译原理实验:手写DFA词法分析器与递归下降语法分析器实践

简介:一份面向计算机专业学生与编译器初学者的C实现资源,围绕编译原理课程中的核心实验展开,完整演示了词法分析器与语法分析器的设计与编码过程。压缩包共9个文件,包括两个cpp源程序、两个可直接运行的exe程序,以及文…

2026/10/10 7:31:36

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:04:53

从逻辑门到计算机:数字电路核心原理与全加器搭建实战

如果你拆过一台旧电脑的主板,盯着那些黑乎乎的小芯片看上一会儿,可能会冒出同一个疑问:这堆引脚密集的元件,到底是怎么“变”出那么复杂的应用的?答案并不在某个神秘的部件里,而是在所有芯片内部都在反复使…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑