华为OD机试真题——会议接待 /代表团坐车(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

article/2025/7/3 20:42:11

在这里插入图片描述

2025 A卷 200分 题型

本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析;
并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式!

本文收录于专栏:《2025华为OD真题目录+全流程解析/备考攻略/经验分享》

华为OD机试真题《会议接待 /代表团坐车》:


目录

    • 题目名称:会议接待 /代表团坐车
      • 题目描述
    • Java
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析
    • python
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析
    • JavaScript
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析
    • C++
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
        • 1. 输入处理
        • 2. 字符串分割
        • 3. 动态规划数组初始化
        • 4. 动态规划核心逻辑
        • 5. 输出结果
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析
    • C语言
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析
    • GO
      • 问题分析
      • 解题思路
      • 代码实现
      • 代码详细解析
      • 示例测试
        • 示例1输入:
        • 示例2输入:
        • 示例3输入:
      • 综合分析


题目名称:会议接待 /代表团坐车


  • 知识点:动态规划(背包问题)
  • 时间限制:1秒
  • 空间限制:256MB
  • 限定语言:不限

题目描述

某组织举行会议,来了多个代表团同时到达,接待处只有一辆汽车,可以同时接待多个代表团。为提高车辆利用率,请帮接待员计算可以坐满车的接待方案,输出方案数量。

约束条件

  1. 一个代表团只能上一辆车,且代表团人数(每个代表团人数≤30,总数量≤30)必须小于汽车容量(≤100)。
  2. 必须将车辆坐满,即所选代表团人数总和等于汽车容量。

输入描述

  • 第一行为各代表团人数,以英文逗号分隔(如 5,4,2,3,2,4,9)。
  • 第二行为汽车载客量(如 10)。

输出描述

  • 输出坐满汽车的方案数量,若无解则输出 0

示例
输入:

5,4,2,3,2,4,9  
10  

输出:

4  

说明
可能的组合为 [2,3,5][2,4,4][2,3,5][2,4,4](允许重复选择不同索引的相同数值代表团,但每个代表团仅能被选一次)。

补充说明

  • 代表团人数按输入顺序排列,组合需严格满足总和等于汽车容量。
  • 动态规划(背包问题)或回溯法为典型解法。

Java

问题分析

我们需要计算从代表团中选择若干代表团,使其人数之和等于汽车的容量,且每个代表团只能被选一次。这是一个典型的0-1背包问题,要求恰好装满背包的方案数。


解题思路

  1. 动态规划定义
    • dp[j] 表示总和为 j 的方案数。
  2. 状态转移
    • 遍历每个代表团人数 num,从后向前更新 dp[j]dp[j] += dp[j - num]
  3. 初始化
    • dp[0] = 1,表示总和为0的方案数为1(不选任何代表团)。

代码实现

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取代表团人数String[] parts = scanner.nextLine().split(",");int[] nums = new int[parts.length];for (int i = 0; i < parts.length; i++) {nums[i] = Integer.parseInt(parts[i]);}// 读取汽车容量int capacity = Integer.parseInt(scanner.nextLine());int[] dp = new int[capacity + 1];dp[0] = 1; // 初始化:总和为0的方案数为1(不选任何代表团)// 动态规划处理每个代表团人数for (int num : nums) {// 从后向前遍历,确保每个代表团只被选一次for (int j = capacity; j >= num; j--) {dp[j] += dp[j - num];}}// 输出结果System.out.println(dp[capacity]);}
}

代码详细解析

  1. 输入处理

    • 使用 Scanner 读取输入,将代表团人数分割为整数数组 nums
    • 读取汽车容量 capacity
  2. 动态规划数组初始化

    • dp 数组长度为 capacity + 1,初始时 dp[0] = 1,其余为0。
  3. 遍历每个代表团人数

    • 对每个 num,从 capacitynum 逆序遍历,更新 dp[j]
      for (int j = capacity; j >= num; j--) {dp[j] += dp[j - num];
      }
      
    • 逆序遍历确保每个代表团仅被考虑一次(0-1背包特性)。
  4. 输出结果

    • dp[capacity] 存储了恰好装满汽车的方案数。

示例测试

示例1输入:
5,4,2,3,2,4,9  
10  

输出

4  

解析
可能的组合为:

  • 5(索引0)、2(索引2)、3(索引3)
  • 4(索引1)、4(索引5)、2(索引4)
  • 5(索引0)、2(索引4)、3(索引3)
  • 4(索引1)、4(索引5)、2(索引2)
示例2输入:
2,2  
4  

输出

1  

解析
唯一方案:选择两个2(不同索引)。

示例3输入:
1,1,1  
3  

输出

1  

解析
唯一方案:选择所有三个1。


综合分析

  1. 时间复杂度O(N×C)

    • N 为代表团数量,C 为汽车容量。每个代表团需遍历 C 次。
  2. 空间复杂度

    • 仅需一个长度为 C+1 的数组。
  3. 优势

    • 高效准确:动态规划严格保证最优解。
    • 空间优化:一维数组节省内存。
    • 处理大容量:使用 int 数组避免溢出(假设结果在 int 范围内)。
  4. 适用场景

    • 代表团数量较大(如 N=30),汽车容量适中(如 C=100)。

python

问题分析

我们需要从代表团中选择若干代表团,使它们的人数之和等于汽车容量,且每个代表团只能被选一次。这是一个典型的0-1背包问题,要求恰好装满背包的方案数。


解题思路

  1. 动态规划定义
    • dp[j] 表示总和为 j 的方案数。
  2. 状态转移
    • 遍历每个代表团人数 num,从后向前更新 dp[j]dp[j] += dp[j - num]
  3. 初始化
    • dp[0] = 1,表示总和为0的方案数为1(不选任何代表团)。

代码实现

def main():import sys# 读取输入input_lines = sys.stdin.read().splitlines()nums = list(

http://www.hkcw.cn/article/oBSLAbZDMQ.shtml

相关文章

Windows电脑上好用的待办任务清单工具

在快节奏的现代生活中&#xff0c;无论是学习、工作还是日常事务管理&#xff0c;待办任务清单工具都成了我们不可或缺的帮手。它能帮我们清晰地规划任务&#xff0c;合理安排时间&#xff0c;提高效率。今天&#xff0c;就让我们来盘点一下Windows电脑上好用的待办任务清单工具…

AI时代的园区网变革:“极简”行至最深处,以太彩光恰自来

如果将不断演进的技术比作奔腾不息的大江大河,那么不同的技术路线就是奋力争先的支流,而最初的源头和最终的落脚点都是用户需求。 在备受关注的园区网领域,不同技术路线正演绎新版本的故事,而用户的“投票”无疑将决定谁能笑到最后。 不容回避的是,传统园区网面临诸多挑战,用户…

MiniMax V-Triune让强化学习(RL)既擅长推理也精通视觉感知

MiniMax 近日在github上分享了技术研究成果——V-Triune&#xff0c;这次MiniMax V-Triune的发布既是AI视觉技术也是应用工程上的一次“突围”&#xff0c;让强化学习&#xff08;RL&#xff09;既擅长推理也精通视觉感知&#xff0c;其实缓解了传统视觉RL“鱼和熊掌不可兼得”…

ETL脚本节点使用的方式

随着大数据时代的到来&#xff0c;企业对数据处理的需求日益增长&#xff0c;ETL 作为数据整合的关键技术&#xff0c;逐渐走进我们的视野。本文将为您揭秘 ETL 脚本节点的使用方式&#xff0c;助您轻松驾驭数据处理新境界。 一、ETL脚本的优势 1.提高效率&#xff1a;ETL 脚…

[定昌linux开发板]启用用户唯一性限制

默认系统内没找到 /etc/chkuid_state文件&#xff0c; 如果没有那么就手动创建&#xff0c;并且设置参数 # 1. 创建文件&#xff08;需root权限&#xff09; sudo touch /etc/chkuid_state# 2. 写入配置启用UID唯一性检查 echo "stateon" | sudo tee /etc/chkuid_…

推荐3个优秀wordpress主题

工控配电企业WP模板 这款WordPress外贸模板专为工业自动化控制行业设计&#xff0c;适用于工业机器人、低压配电等领域的外贸公司。模板采用简洁实用的设计风格&#xff0c;支持自定义设置&#xff0c;包括产品展示、询价功能、下拉菜单、高级幻灯片动画展示等&#xff0c;确保…

图解深度学习 - 基于梯度的优化(梯度下降)

在模型优化过程中&#xff0c;我们曾尝试通过手动调整单个标量系数来观察其对损失值的影响。具体来说&#xff0c;当初始系数为0.3时&#xff0c;损失值为0.5。随后&#xff0c;我们尝试增加系数至0.35&#xff0c;发现损失值上升至0.6&#xff1b;相反&#xff0c;当系数减小至…

保险行业数字化应用解决方案

数字化转型面临的挑战 新一代信息技术与保险业务的深度融合成为促进创新、提升效率、优化体验的强大引擎。但保险行业业务场景多样化&#xff0c;数据类型复杂&#xff0c;传统的信息化建设模式难以匹配快速变化的市场需求。保险公司亟需引入开放灵活的技术工具&#xff0c;加…

欧洲央行管委:欧元区已基本击败通胀 谨慎权衡未来降息

欧洲央行管委Fabio Panetta暗示通胀已基本得到控制,但警告进一步降息需谨慎权衡。Panetta对决策者在抗击通胀方面取得的进展表示赞赏,但也指出未来做出是否继续降息的决定不会变得更容易。他在罗马向意大利金融界精英发表年度演讲时表示:“通胀回落并未对经济造成过于严重的…

目击者称男子推倒兵马俑后倒地捂脸 事件引发广泛关注

5月30日下午6时许,陕西秦始皇兵马俑博物馆发生了一起意外事件。一名男子跳入3号坑,并推倒了两尊兵马俑。据现场目击者小林回忆,当时他在导游的带领下进入3号坑,刚一进去就看到该男子跳下俑坑,先是跳到中间一层,随后又跳到俑坑下方。小林表示,自己和周围的群众都惊呆了,…

LangChain链式表达式对象要求

可调用性&#xff1a;每个组件必须实现 __call__ 或 invoke 方法 输入输出兼容&#xff1a; prompt 输出必须是聊天模型(chat)可接受的输入格式 chat 的输出必须是 StrOutputParser 可解析的格式 类型匹配&#xff1a; ChatPromptTemplate 输出 -> List[ChatMessage] C…

Fast-SCNN语义分割

环境搭建 1创建环境 conda create -n fast_scnn python=3.8#创建环境#创建完后进入环境 conda activate fast_scnn 2下载fast-scnn https://github.com/Tramac/Fast-SCNN-pytorch 用vscode打开 3下载依赖 缺少对应的文件 下载pytorch

演出市场 只容得下头部艺人吗 冰火两重天的现状

音乐数据分析公司Chartmetric对2022年和2024年各职业阶段的前1000名艺术家的巡演情况进行了分析,指出不仅是新晋艺术家选择退出巡演,中部乃至超级巨星级别的艺人也明显减少了巡演安排。巡演一直被视为连接乐迷、积累听众、实现收入的重要路径,但在高风险与低回报的压力下变得…

《亚洲新声》张靓颖5G冲浪 多元音乐碰撞火花

5月23日18点,亚洲首档跨国歌手文化交流节目《亚洲新声》在爱奇艺正式上线。节目首期凭借沉浸式海上舞台、国际化导师阵容和亚洲00后新声选手的多元曲风迅速吸引了网友的关注,展示了年轻歌手的无限活力与潜力,为音综市场注入了新鲜血液。首期节目中,来自中国、马来西亚、哈萨…

一少年参加橄榄球直冲撞击挑战死亡 引发广泛谴责

新西兰总理拉克森30日谴责了一项名为“直冲撞击挑战”的活动。这项在社交媒体上广泛传播的挑战导致一名青少年因头部重伤死亡。19岁的萨特斯韦特26日在北帕默斯顿市参加该挑战后不幸身亡。这项挑战模仿橄榄球员在球场上的激烈碰撞,去年在澳大利亚和新西兰都有类似活动,参与者…

氛围拉满 这是端午该有的样子 粽香四溢迎佳节

绥阳县的街头巷尾弥漫着粽叶的香气,市场上各种口味的粽子琳琅满目,充满了端午节的氛围。商家们纷纷推出端午特色产品,掀起了一波消费热潮。在绥阳县魁星楼,道路两侧的老字号店铺蒸汽氤氲,桌上堆满了裹着碧绿外衣的粽子,空气中飘散着糯香与艾草的气息。人们穿梭于各个店铺…

德约:我是米兰球迷 支持大巴黎夺冠 网球巨星的足球情怀

正在参加法网的德约科维奇在接受采访时谈到了本周末的欧冠决赛。他表示:“抱歉国际米兰,但我是一个AC米兰的球迷,我希望巴黎圣日耳曼赢得欧冠决赛。”德约科维奇对AC米兰的喜爱早已为人所知。他曾多次到现场观看AC米兰的比赛,包括2023年欧冠半决赛中AC米兰与国际米兰的同城…

学习STC51单片机21(芯片为STC89C52RCRC)

每日一言 与其焦虑未来&#xff0c;不如专注当下&#xff0c;把每件小事做到极致。 蓝牙模块 HC-08 蓝牙模块的话总结一句串口会了&#xff0c;蓝牙模块就会了 因为就我们这样的水平还是一个小卡拉米研究不了蓝牙的&#xff0c;研究蓝牙的都是高精尖的蓝牙的工程师&#xff0…

fscan渗透使用指南只为学习

&#x1f4e2;【红队必备】FSCAN保姆级使用指南&#xff1a;从入门到实战&#xff0c;内网渗透一键通关&#xff01; 一、工具简介 FSCAN是一款国产开源的内网综合扫描工具&#xff0c;集资产探测、漏洞扫描、权限获取于一体&#xff0c;被红队誉为“内网渗透瑞士军刀”。支持…

IDEA 在公司内网配置gitlab

赋值项目链接 HTTPS 将HTTP的链接 ip地址换成 内网地址 例如&#xff1a;https:172.16.100.18/...... 如果出现需要需要Token验证的情况&#xff1a; 参考&#xff1a;Idea2024中拉取代码时GitLab提示输入token的问题_gitlab token-CSDN博客