(C++题解)最新华为OD机考真题题库
文章平均质量分 73
最新华为OD机考真题题库使用C++ 实现!!!每篇博客都包含详细的算法考点解析,每行代码都有注释哦!!!持续更新中!!!
优惠券已抵扣
余额抵扣
还需支付
¥49.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
YOLO大师
这个作者很懒,什么都没留下…
展开
-
【C++题解版】华为 OD 机试 C卷抽中题库清单(全真题库)含考点说明
2023年11月份,华为官方已经将 华为OD机考:OD统一考试(A卷 / B卷)切换到 OD统一考试(C卷)和 OD统一考试(D卷)。根据考友反馈:目前抽到的试卷为B卷或C卷/D卷,其中C卷居多 ,按照之前的经验C卷D卷部分考题会复用A卷/B卷题,博主正积极从考过的同学收集C卷和D卷真题,可以查看下面的真题目录。原创 2024-01-07 17:54:22 · 14263 阅读 · 0 评论 -
【华为od机试 2023】 什么是华为od 机试题库清单以及说明
OD。全称(Outsourcing Dispacth)模式,目前华为和德科联合招聘的简称。OD模式也是华为提出的一种新的用工形式,定级是13-17级,属于华为储备人才,每年都会从OD项目挑优秀员工转为正编。工作内容,跟华为员工差不多,当然可能也看部门,但是导师培训基本和华为人一样,工作安排也按个人能力来定,不好的地方就是管理岗目前没见到有OD任职的。华为OD可以转正,转正需要先在OD呆一年,且须考过华为高级职级。以上是基本要求,隐含条件是“必须是非常非常优秀”,实际转正通过率一年个位数。原创 2023-03-26 21:37:02 · 1521 阅读 · 13 评论 -
华为OD机考统一考试C卷 符号运算(C++题解)
字符串格式的表达式,仅支持±*/,数字可能超过两位,可能带有空格,没有负数。用例输入一定合法,不会出现括号匹配的情况。给定一个表达式,求其分数计算结果。表达式结果,以最简格式表达。长度小于200个字符。原创 2024-01-08 17:17:35 · 494 阅读 · 0 评论 -
华为OD机考统一考试C卷 最优结果的a数组数量/数组比较(C++题解)
给定两个只包含数字的数组a, b, 调整数组a里面数字的顺序,使得尽可能多的a[i] > b[i]。有两个a数组的排列可以达到最优结果,[12, 20, 11]和[11, 20, 12],故输出2。输入的第一行是数组a中的数字,其中只包含数字,每两个数字之间相隔一个空格,a数组大小不超过10。输入的第一行是数组b中的数字,其中只包含数字,每两个数字之间相隔一个空格,b数组大小不超过10。a无论如何都会全输,故a任意排列都行,输出所有a数组的排列,6种排法。输出所有可以达到最优结果的a数组数量。原创 2024-01-08 17:16:39 · 646 阅读 · 0 评论 -
华为OD机考统一考试C卷 伐木工(C++题解)
一根10米长的树木,伐木工可以切割方式一:3,4,4,也可以切割为方式二:3,2,2,3,但方式二伐木工多切割一次,增加切割成本却买了一样的价格,因此并不是最优收益。一根X米长的树木,伐木工切割成不同长度的木材后进行交易,交易价格为每根木头长度的乘积。一根4米长的树木,伐木工不需要切割为2 * 2,省去切割成本,直接整根树木交易,为4 * 1,收益最大为4。一根2米长的树木,伐木工不切割,为2 * 1,收益最大为2。一根5米长的树木,伐木工切割为2 * 3,收益最大为6。木材的长度(X ≤ 50)原创 2024-01-08 17:14:16 · 463 阅读 · 0 评论 -
华为OD机考统一考试C卷 连续出牌数量(C++题解)
有这么一款单人卡牌游戏,牌面由颜色和数字组成,颜色为红、黄、蓝、绿中的一种,数字为0-9中的一个。游戏开始时玩家从手牌中选取一张卡牌打出,接下来如果玩家手中有和他上一次打出的手牌颜色或者数字相同的手牌,他可以继续将该手牌打出,直至手牌打光或者没有符合条件可以继续打出的手牌。输入为两行,第一行是每张手牌的数字,数字由空格分隔,第二张为对应的每张手牌的颜色,用r y b g这4个字母分别代表4种颜色,字母也由空格分隔。手牌数量不超过10。如果打(4,y) -> (4, b) -> (3, b),那么能打三张。原创 2024-01-08 17:12:37 · 389 阅读 · 0 评论 -
华为OD机考统一考试C卷 5G网络建设(C++题解)
在这个问题中,基站可以看作是图的顶点,光纤可以看作是图的边,光纤的成本可以看作是边的权重。需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N,接下来需要各个基站之间使用光纤进行连接以确保基站能互联互通,不同基站之间假设光纤的成本各不相同,且有些节点之间已经存在光纤相连。注意:基站的联通具有传递性,比如基站A与基站B架设了光纤,基站B与基站C也架设了光纤,则基站A与基站C视为可以互相联通。2,3基站已有光纤相连,只要在1,3基站之间铺设光纤,其成本为1。X,Y 表示基站的编号。原创 2024-01-08 17:10:56 · 617 阅读 · 0 评论 -
华为OD机考统一考试C卷 寻找最优的路测线路(C++题解)
现给出 R 行 C 列的整数数组 Cov,每个单元格的数值 S 即为该栅格的信号质量(已归一化,无单位,值越大信号越好)。评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。路线为:3→4→6→3→4→7→7→8→9→4→3→8→8→3→4→4→6→5→4→3。路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。第三行开始,每一行表示栅格地图一行的信号值,如5 4 5。路线为:5→4→5→6→6。第二行表示栅格的列数 C。一行表示栅格的行数 R。原创 2024-01-08 17:09:28 · 877 阅读 · 0 评论 -
华为OD机考统一考试C卷 Wonderland(C++题解)
我们可以使用动态规划。核心思想是为每个游玩日期计算最低消费成本,并存储这些结果以供后续日期使用。小王在第10日买了一张三日票,小王可以在第10日、第11日和第12日进行无限制地游玩。现在,请您根据给出地售票价格数组和小王计划游玩日期数组,返回游玩计划所需要地最低消费。每种售票方式的价格由一个数组给出,每种票据在票面时限内可以无限制地进行游玩。小王计划在接下来一年多次游玩该游乐园。小王计划地游玩日期将由一个数组给出。Wonderland是小王居住地一家很受欢迎的游乐园。完成游玩计划的最低消费。原创 2024-01-08 17:08:35 · 1025 阅读 · 0 评论 -
华为OD机考统一考试C卷 两个字符串间的最短路径问题(C++题解)
如上面的图所示,起点为(0,0),然后下一个坐标轴,可以往(0,A)或者(C,0)走,这里我们选择往(0,A)走。例如A字符串为ABCABBA,B字符串为CBABAC可以得到m*n的二维数组,定义原点为(0,0),终点为(m,n),水平与垂直的每一条边距离为1,路径为(0,0)->(A,0)->(A,C)->(B,B)->(C,B)->(A,A)->(B,B)->(B,B)->(A,A)->(A,C)从原点(0,0)到(0,A)为水平边,距离为1,从(0,A)到(A,C)为垂直边,距离为1;原创 2024-01-08 17:07:44 · 871 阅读 · 0 评论 -
华为OD机考统一考试C卷 亲子游戏(C++题解)
宝宝和妈妈参加亲子游戏,在一个二维矩阵(N*N)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下左右走。此地图有两条最短路径可到达宝宝位置,绿色线和黄色线都是最短路径6步,但黄色拿到的糖果更多,9个。输出妈妈在最短到达宝宝位置的时间内最多拿到多少糖果,行末无多余空格。第一行输入为 N,N 表示二维矩阵的大小。此地图妈妈无法到达宝宝位置。原创 2024-01-08 17:06:53 · 464 阅读 · 0 评论 -
华为OD机考统一考试C卷 模拟目录管理功能(C++题解)
定义一个节点类(Node),用于表示文件系统中的每个目录。该类包含路径信息和一个映射,映射存储子目录和对应的节点对象。在根目录创建一个abc的目录并进入abc目录中查看当前目录路径,输出当前路径/abc/。实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。创建一个根节点实例,代表文件系统的根目录。循环读取输入直到结束,并在结束时输出最后的路径信息。读取用户输入,根据输入的命令和参数执行相应的操作。输入 N 行字符串,每一行字符串是一条命令。输出最后一条命令运行结果字符串。原创 2024-01-08 17:06:00 · 437 阅读 · 0 评论 -
华为OD机考统一考试C卷 数字游戏(C++题解)
在二进制数中,找到一个比当前数大的数,通常需要将一个较低位的。同时,为了确保这个新的数尽可能小,我们希望这个。输入一个正整数 n(1 ≤ n ≤ 1e9)因此,我们需要在最低位添加一个。),然后将该位右边的所有位清零(即。按照上述步骤,我们需要找到第一个。的总数不变,我们需要在右侧插入。这样做会增加数值,同时保持。:从低位到高位,找到第一个。大的下一个数,且二进制中。尽可能靠右,而且这个。现在求 m 的最小值。:由于我们已经将一个。原创 2024-01-08 17:05:05 · 847 阅读 · 0 评论 -
华为OD机考统一考试C卷 部门人力分配(C++题解)
当前部门需要完成 N 个需求,需求用 requirements 表述,requirements[i] 表示第 i 个需求的工作量大小,单位:人月。当选择人力为6时,2个需求量为3的工作可以在1个月里完成,其他2个工作各需要1个月完成。目前要求每个月最多有2个需求开发,并且每个月需要完成的需求不能超过部门人力。当选择人力为5时,4个工作各需要1个月完成,一共需要4个月才能完成所有需求。这部分需求需要在 M 个月内完成开发,进行人力安排后每个月人力时固定的。:每个月完成的需求工作量总和不能超过可用的人力。原创 2024-01-08 17:04:08 · 749 阅读 · 0 评论 -
华为OD机考统一考试C卷 根据IP查找城市(C++题解)
注:最佳匹配即包含待查询IP且长度最小的IP段,比如例子中3.4.4.4最佳匹配是City2=3.3.3.3,4.4.4.4,5.5.5.5的最佳匹配是City3=2.2.2.2,6.6.6.6。最佳匹配的城市名列表,采用英文逗号 ‘,’ 分隔,城市列表长度应该跟查询的IP列表长度一致。第二行为查询的IP列表,多个IP采用英文逗号 ‘,’ 分隔,最多不超过10000条。城市间也可能存在包含关系,如City3的IP段包含City2的IP段范围。一个城市可以有多个IP段,比如City1有2个IP段。原创 2024-01-08 17:02:56 · 574 阅读 · 0 评论 -
华为OD机考统一考试C卷 员工派遣(C++题解)
因为在[1, 5]的范围内,可以找到3个可以派遣到国家X的员工(他们的ID是1, 3, 5),以及1个可以派遣到国家Y的员工(他的ID是1)。题目的问题是:要找到一个最小的k,使得在遵守上述规则的情况下,可以从编号在[1, k]中的员工中选择足够的员工派遣到x国和y国,满足他们的需求。我们需要找到一个最小的员工ID,使得在[1, ID]的范围内,能够找到至少3个可以派遣到国家X的员工和至少1个可以派遣到国家Y的员工。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工。原创 2024-01-08 17:01:43 · 921 阅读 · 0 评论 -
华为OD机考统一考试C卷 电脑病毒感染(C++题解)
然而,如果图中存在负权回路,即一个总权重为负的环路,Bellman-Ford算法可以检测到这种情况。在每次迭代中,算法会遍历所有的边,并尝试更新每条边的目标顶点的距离。如果通过当前边到达目标顶点的距离小于已知的最短距离,则更新该顶点的最短距离。如图:path[i] = {i, j, t} 表示:电脑 i->j,电脑 i 上的病毒感染 j,需要时间 t。这使得它在稠密图中效率较低,但它是处理带有负权边的图的有效算法。)的距离被初始化为0以外,所有顶点的距离都被设置为无穷大(在上面的代码中是。原创 2024-01-08 17:00:10 · 1099 阅读 · 0 评论 -
华为OD机考统一考试C卷 快递员的烦恼(C++题解)
快递公司每日早晨,给每位快递员推送需要送到客户手中的快递以及路线信息,快递员自己又查找了一些客户与客户之间的路线距离信息,请你依据这些信息,给快递员设计一条最例短路径, 告诉他最短路径的距离。路径1: 快递员先把快递送到客户1手中,接下来直接走客户1到客户2之间的直通路线,最后走投递站与客户2之间的路,回到投递站,距离为1000 + 300 + 1200 = 2500。读取每个客户的ID和该客户到配送站的距离,更新距离矩阵和映射字典。再接下来的m行,是快递员自行查找的客户与客户之间的距离信息,原创 2024-01-08 16:58:28 · 1045 阅读 · 0 评论 -
华为OD机考统一考试C卷 高效货运(C++题解)
老李是货运公司承运人,老李的货车额定载货重量为 wt。现有两种货物:原创 2024-01-08 16:57:01 · 812 阅读 · 0 评论 -
华为OD机考统一考试C卷 结队编程(C++题解)
所以,左侧每增加一个可能的员工,就会与右侧的每个可能员工形成新的组合,因此是乘法关系。结队小组满足 level[i] < level[j] < level[k] 或者 level[i] > level[j] > level[k],从部门中选出序号分别为 i、j、k 的3名员工,他们的职级分贝为 level[i],level[j],level[k],主要思路:统计每个员工左侧和右侧的职级比较情况,然后利用这些信息来计算每个员工能够作为中间员工参与的队伍数量。第一行输入:员工总数 n。原创 2024-01-07 20:50:34 · 892 阅读 · 0 评论 -
华为OD机考统一考试C卷 文本统计分析(C++题解)
,但空文本不能算语句,比如”COMMAND A;这里的“文本”指的是符合一定规则的字符串序列。在字符串内的减号不算作注释的开始。也就是说,一个文本的内容可以分布在多个连续的行中,这些行合起来算作一条文本。如果一段文本只包含空白字符(如空格、制表符等),则不算作一条有效文本。有一个文件,包含以一定规则写作的文本,请统计文件中包含的文本数量。文本可以跨行,比如下面,是一条文本,而不是三条;)分隔,最后一条文本可以没有分号结尾。注意字符串内的”–“,不是注释。,无法作为一条文本结束的标志。中只有一条有效文本。原创 2024-01-07 20:49:35 · 847 阅读 · 0 评论 -
华为OD机考统一考试C卷 会议室占用时间段(C++题解)
[会议1开始时间, 会议1结束时间], [会议2开始时间, 会议2结束时间]]使用排序算法,根据每个会议时间段的开始时间(即每个内部数组的第一个元素)对。将排序后的第一个会议时间段作为当前会议时间段,并将其添加到合并列表中。本题为lettocodo模式,不需要处理输入,只需要实现函数节课。时/间段[1,4]和[2,5]重叠,合并为[1,5]继续步骤6的过程,直到遍历完所有会议时间段。创建一个数组,用于存储合并后的会议时间段。时间段[1,4]和[4,5]连续。数组中的每个会议时间段。原创 2024-01-07 20:48:28 · 1014 阅读 · 0 评论 -
华为OD机考统一考试C卷 数据最节约的备份方法(C++题解)
有若干个文件,使用刻录光盘的方式进行备份,假设每张光盘的容量是500MB,求使用光盘最少的文件分布方式。所有文件的大小都是整数的MB,且不超过500MB;文件不能分割、分卷打包。(100,400),(200,300),(500) 3张光盘即可。不用考虑输入数据不合法的情况;假设最多100个输入文件。输入和输出内容都不含空格。原创 2024-01-07 20:47:21 · 394 阅读 · 0 评论 -
华为OD机考统一考试C卷 分解连续正整数组合/ 分解正整数(C++题解)
给定一个正整数 n,如果能够分解为 m(m > 1)个连续正整数之和,请输出所有分解中,m最小的分解。如果给定整数无法分解为连续正整数,则输出字符串"N"。输入数据为一整数,范围为 (1, 2^30]原创 2024-01-07 20:46:16 · 888 阅读 · 0 评论 -
华为OD机考统一考试C卷 考古学家考古问题(C++题解)
有一个考古学家发现一个石碑,但是很可惜,发现时其已经断成多段,原地发现n个断口整齐的石碑碎片。为了破解石碑内容,考古学家希望有程序能帮忙计算复原后的石碑文字组合数,你能帮忙吗?解决这个问题的方法是使用深度优先搜索(DFS)遍历所有可能的组合。这种方法可以有效地遍历所有可能的石碑文字组合,并通过跳过重复的组合来减少搜索空间。输出石碑文字的组合(按照升序排列),行末无多余空格。第二行依次输入石碑碎片上的文字内容s,共有n组。第一行输入n,n表示石碑碎片的个数。原创 2024-01-07 20:45:29 · 960 阅读 · 0 评论 -
华为OD机考统一考试C卷 分月饼(C++题解)
中秋节,公司分月饼,m 个员工,买了 n 个月饼,m ≤ n,每个员工至少分 1 个月饼,但可以分多个,12 = 1 + 5 + 6(Max1 = 6, Max2 = 5,Max3 = 1,不满足要求)12 = 1 + 4 + 7(Max1 = 7, Max2 = 4,Max3 = 1,满足要求)12 = 2 + 4 + 6(Max1 = 6, Max2 = 4,Max3 = 2,满足要求)12 = 3 + 4 + 5(Max1 = 5, Max2 = 4,Max3 = 3,满足要求)原创 2024-01-07 20:44:24 · 1124 阅读 · 0 评论 -
华为OD机考统一考试C卷 项目排期(C++题解)
项目组共有N个开发人员,项目经理接到了M个独立的需求,每个需求的工作量不同,且每个需求只能由一个开发人员独立完成,不能多人合作。给定一系列任务的工作量和一定数量的工人,计算完成所有任务所需的最少天数,使得每个工人分配到的任务总工作量不超过这个天数。共有两位员工,其中一位分配需求 6 2 7 7 3 2 1共需要28天完成,另一位分配需求 9 3 11 4 共需要27天完成,故完成所有工作至少需要28天。例如:X1 X2 X3 …表示共有M个需求,每个需求的工作量分别为X1天,X2天…原创 2024-01-07 20:43:39 · 933 阅读 · 0 评论 -
华为OD机考统一考试C卷 跳马(C++题解)
给定的用例是一个3行5列的棋盘,其中一些位置有数字,代表马的位置和它们可以走的最大步数。棋盘内的马移动类似于中国象棋中的马移动,先在水平或者垂直方向上移动一格,然后再将其移动到对角线位置。请问能否将棋盘上所有的马移动到同一个位置,若可以请输入移动的最小步数。能否将棋盘上所有的马移动到同一个位置,若可以请输入移动的最小步数。表示该位置为空的,棋盘内的数字表示为该马能走的最大步数。棋盘内的马可以移动到同一个位置,同一个位置可以有多匹马。两种字符,如果是数字表示该位置是一匹马,如果是。原创 2024-01-07 20:42:42 · 843 阅读 · 0 评论 -
华为OD机考统一考试C卷 找单词(C++题解)
输出一个位置下标字符串,拼接格式为:第1个字符行下标+”,”+第1个字符列下标+”,”+第2个字符行下标+”,”+第2个字符列下标…+”,”+第N个字符行下标+”,”+第N个字符列下标。给一个字符串和一个二维字符数组,如果该字符串存在于该数组中,则按字符串的字符顺序输出字符串每个字符所在单元格的位置下标字符串,如果找不到返回字符串“N”。1.需要按照字符串的字符组成顺序搜索,且搜索到的位置必须是相邻单元格,其中“相邻单元格”是指那些水平相邻或垂直相邻的单元格。第N+2行为待查找的字符串,由大写字符组成。原创 2024-01-07 20:41:36 · 392 阅读 · 0 评论 -
华为OD机考统一考试C卷 找最小数(C++题解)
给一个正整数NUM1,计算出新正整数NUM2,NUM2为NUM1中移除N位数字后的结果,需要使得NUM2的值最小。,字符串由0-9字符组成,记录正整数NUM1,NUM1长度小于32。2.输入的第二行为需要移除的数字的个数,小于NUM1长度。输出一个数字字符串,记录最小值NUM2。维护一个单调递增的栈来实现移除数字。1.输入的第一行为一个。原创 2024-01-07 20:40:24 · 349 阅读 · 0 评论 -
华为OD机考统一考试C卷 城市聚集度/找城市(C++题解)
当切断通往某个城市 i 的所有道路后,地图上将分为多个连通的城市群,设该城市i的聚集度为DPi(Degree of Polymerization),DPi = max(城市群1的城市个数,城市群2的城市个数,…城市与城市之间的道路。对于城市4,切断通往城市4的所有道路后,形成2个城市群[(1,2,3),(5)],DP4 = max(3,1)= 3。对于城市3,切断通往3的所有道路后,形成2个城市群[(1,2),(4,5)],其聚集度分别都是2。接下来的N-1行每行有两个整数x,y,表示城市x与城市y连接。原创 2024-01-07 20:39:14 · 803 阅读 · 0 评论 -
华为OD机考统一考试C卷 欢乐的周末(C++题解)
第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;第二行开始为具体的地图,其中:3代表小华和小明选择的聚餐地点;通过手机交流,他们在地图上选择了多个聚餐地点(由于自然地形等原因,部分聚餐地点不可达),求小华和小为都能到达的聚餐地点有多少个?由于图中小华和小为之间有个阻隔,此时,没有两人都能到达的聚餐地址,故而返回0。2 为小华或者小为,地图中必定有且仅有2个 (非障碍物)第一行输入m和n,m代表地图的长度,n代表地图的宽度。第一行输入地图的长宽为3和4。第一行输入地图的长宽为4和4。原创 2024-01-07 20:38:26 · 842 阅读 · 0 评论 -
华为OD机考统一考试C卷 最多几个直角三角形(C++题解 )
每行第一个正整数N,表示线段个数(3原创 2024-01-07 20:37:31 · 394 阅读 · 0 评论 -
华为OD机考统一考试C卷 数据单元的变量替换(C++题解)
如果单元格包含"“,但格式不正确(例如,”"的位置不正确,或者它们之间没有恰好一个字符),那么程序会打印-1并退出。如果单元格包含正确的引用,那么程序会将引用替换为实际的单元格值,并将处理后的单元格内容添加到结果字符串中。接下来,程序遍历每个单元格。对于每个单元格,程序首先找到""的位置,这两个字符是引用的标记。第一个单元中有对B单元的引用,B单元格的值为1,替换时,将第二个数据单元的内容替代。第二个单元中有对A单元的引用,A单元格的值为1,替换时,将A单元的内容替代。原创 2024-01-07 20:36:23 · 956 阅读 · 0 评论 -
华为OD机考统一考试C卷 最长合法表达式(C++题解)
然后,我们遍历这个列表,先进行所有的乘法操作,然后进行所有的加法和减法操作。首先,我们需要从输入的字符串中提取出所有的合法数学表达式。在这里,一个合法的数学表达式是指由数字和操作符(+、-、*)组成的字符串,且操作符不能连续出现。当我们遇到一个操作符字符时,如果前一个字符不是操作符,我们就将当前索引加1;然后,我们需要对提取出的所有表达式按长度进行排序,并选择长度最长的表达式。提取字符串中的最长合法简单数学表达式字符串长度最长的,并计算表达式的值。为-1(表示我们还没有开始记录一个新的表达式),我们就将。原创 2024-01-07 20:35:28 · 2116 阅读 · 0 评论 -
华为OD机考统一考试C卷 MELON的难题(C++ Java Python javaScript)
这个问题可以转化为一个01背包问题:从给定的雨花石中选取一些,使得它们的重量之和等于总重量的一半,且选取的雨花石数量最少。均分时可以1,1,1,1,1,9,7和10,8,3,也可以1,1,1,1,9.8和10,7,3,1,或者其他均分方式,但第一种只需要拿出重量为10.8,3的3块雨花石,第二种需要拿出4块,所以输出3(块数最少)。均分时只能分别为1,2,需要拿出重量为1和2的两块雨花石,所以输出2。输入第一行代表共10颗雨花石,第二行代表4颗雨花石重量分别为1、1、1、1、1、9、8、3、7、10。原创 2024-01-07 20:34:19 · 869 阅读 · 0 评论 -
华为OD机考统一考试C卷 可以组成网络的服务器(C++题解)
在一个机房中,服务器的位置标识在 n*m 的整数矩阵网格中,1 表示单元格上有服务器,0 表示没有。如果两台服务器位于同一行或者同一列中紧邻的位置,则认为它们之间可以组成一个局域网。[0][0]、[1][0]、[1][1]三台服务器相互连接,可以组成局域网。第一行输入两个正整数,n和m,0原创 2024-01-07 20:33:25 · 386 阅读 · 0 评论 -
华为OD机考统一考试C卷 查找接口成功率最优时间段(C++题解)
因此,我们需要跟踪找到的最长时间段的长度。如果我们找到一个比当前最长时间段更长的时间段,我们就更新最长时间段的长度,并清空结果列表,然后将新的时间段添加到结果列表中。这个解题思路的关键是使用累积和数组来快速计算任意时间段的失败率总和,以及使用一个结果列表来跟踪所有满足条件的时间段。这样,我们可以在一次遍历中找到所有满足条件的时间段,并且可以快速找到最长的时间段。数组下标为0-1即[0, 0],数组下标为3-4即[2, 2],数组下标为6-7即[0, 2],这三个部分都满足平均值小于等于2的要求,原创 2024-01-07 20:31:59 · 1070 阅读 · 0 评论 -
华为OD机考统一考试C卷 堆内存申请(C++题解)
有一个总空间为100字节的堆,现要从中新申请一块内存,内存分配原则为:优先紧接着前一块已使用内存,分配空间足够且最接近申请大小的空闲内存。表示 0 偏移地址开始的 1 个字节和 3 偏移地址开始的 2 个字节已被分配,其余内存空闲。第1行是1个整数,表示期望申请的内存字节数。若申请成功,输出申请到内存的偏移;若申请失败,输出 -1。原创 2024-01-07 20:30:38 · 388 阅读 · 0 评论 -
华为OD机考统一考试C卷 螺旋数字矩阵(C++题解)
给出数字个数n和行数m(0 < n ≤ 999,0 < m ≤ 999),从左上角的1开始,按照顺时针螺旋向内写方式,依次写出2,3…n,最终形成一个m行矩阵。疫情期间,小明隔离在家,百无聊赖,在纸上写数字玩。本题不难,主要就是模拟。按照题目的要求填充矩阵就可以了。输入一行,两个整数,空格隔开,依次表示n、m。3个数字写5行,只有一列,数字不够用*号填充。9个数字写成4行,最少需要3列。原创 2024-01-07 20:29:33 · 467 阅读 · 0 评论