代表团坐车 - 华为OD统一考试

news2024/11/25 12:45:31

OD统一考试(B卷)

分值: 100分

题解: Java / Python / C++

alt

题目描述

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

约束:

  1. 一个团只能上一辆车,并且代表团人数(代表团数量小于30,每个代表团人数小于30)小于汽车容量(汽车容量小于100)。
  2. 需要将车辆坐满。

输入描述

第一行 代表团人数,英文逗号隔开,代表团数量小于30,每个代表团人数小于30。

第二行 汽车载客量,汽车容量小于100。

输出描述

坐满汽车的方案数量,如果无解输出0

示例1

输入:
5,4,2,3,2,4,9
10

输出:
4

说明:
以下几种方式都可以坐满车,[2,3,5]、[2,4,4]、[2,3,5]、[2,4,4]

题解

这个问题是经典的01背包问题可以使用动态规划来解决。

定义一个一维数组dp,其中dp[cap]表示容纳cap人的方案数。

初始时,将dp[0]设为1,因为不带走任何代表团也是一种方案。

然后,对于每一个代表团人数 x,遍历数组dp,更新dp[cap]。具体的更新方式是,对于每一个 cap,如果 cap >= x,则更新dp[cap] += dp[cap - x]。这表示当前容量为cap的方案数等于之前容量为cap - x的方案数加上带上当前代表团的方案数。

最终,dp[capacity]即为坐满汽车的方案数量。

Java

import java.util.Arrays;
import java.util.Scanner;
/**
 * @author code5bug
 */
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 读取代表团人数
        String[] groupsStr = scanner.nextLine().split(",");
        int[] groups = Arrays.stream(groupsStr).mapToInt(Integer::parseInt).toArray();

        // 读取汽车载客量
        int capacity = scanner.nextInt();

        // dp[cap] 表示容纳 cap 人的方案数
        int[] dp = new int[capacity + 1];
        dp[0] = 1;

        for (int x : groups) {
            for (int cap = capacity; cap >= x; cap--) {
                dp[cap] += dp[cap - x];
            }
        }

        System.out.println(dp[capacity]);
    }
}

Python

groups = list(map(int, input().split(",")))
capacity = int(input())

# dp[cap] 表示容纳 cap 人的方案数
dp = [0] * (capacity + 1)
dp[0] = 1

for x in groups:
    for cap in range(capacity, x - 1, -1):
        dp[cap] += dp[cap - x]

print(dp[capacity])

C++

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	vector<int> groups;
	int t,capacity;
	while(cin >> t) {
		groups.push_back(t);
		if(cin.peek() == ',') {
			cin.ignore();
		} else {
			cin >> capacity;
			break;
		}
	}

	vector<int> dp(capacity + 1, 0);
	dp[0] = 1;

	for(int i = 0; i < groups.size(); i++) {
		int x = groups[i];
		for(int cap = capacity; cap >= x; cap--) {
			dp[cap] += dp[cap - x];
		}
	}

	cout << dp[capacity] << endl;

	return 0;
}

相关练习题

题号题目难易
LeetCode 416416. 分割等和子集中等
LeetCode 474474. 一和零中等
LeetCode 494494. 目标和中等

🙏整理题解不易, 如果有帮助到您,请给点个赞 ‍❤️‍ 和收藏 ⭐,让更多的人看到。🙏🙏🙏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1350087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 系统拉取 Github项目

一、安装Git 在Linux上拉取GitHub项目可以使用Git命令。首先确保已经安装了Git。如果没有安装&#xff0c;可以通过包管理器&#xff08;比如apt、yum&#xff09;来进行安装。 sudo yum install git #查看安装版本 git -version二、关联GitHub 配置本地账户和邮箱 >>…

Redis缓存穿透,缓存击穿,缓存雪崩

文章目录 Redis缓存穿透&#xff0c;缓存击穿&#xff0c;缓存雪崩1. 缓存穿透1.1 解决方案1&#xff1a;缓存空数据1.2 解决方案2&#xff1a;使用布隆过滤器1.2.1 布隆过滤器介绍 2. 缓存击穿2.1 解决方案1&#xff1a;互斥锁2.2 解决方案2&#xff1a;逻辑过期 3. 缓存雪崩3…

抖店和商品橱窗有什么区别?新手应该选哪个?

我是电商珠珠 临近年底了&#xff0c;有的人已经开始为下一年筹谋&#xff0c;有的去抖音做账号做直播带货&#xff0c;不会直播带货的就想尝试做下抖店&#xff0c;来为以后的经济打基础。 刚想要接触却对这类有些迷糊&#xff0c;发现商品橱窗和抖店都可以卖货&#xff0c;…

k8s基础架构

k8s基础架构 创建pod流程 &#xff08;1&#xff09;用户通过kubectl向api-server发起创建pod请求&#xff1b; &#xff08;2&#xff09;apiserver通过对应的kubeconfig进行认证&#xff0c;认证通过后将yaml中的po信息存到etcd&#xff1b; &#xff08;3&#xff09;Contr…

Oracle笔记-查看表已使用空间最大空间

目前以Oracle18c为例&#xff0c;主要是查这个表USER_SEGMENTS。 在 Oracle 18c 数据库中&#xff0c;USER_SEGMENTS 是一个系统表&#xff0c;用于存储当前用户&#xff08;当前会话&#xff09;拥有的所有段的信息。段是 Oracle 中分配存储空间的逻辑单位&#xff0c;用于存…

Java智慧校园源码,SaaS云平台,私有云部署,移动端小程序使用小程序原生语言开发

系统概述&#xff1a; 电子班牌系统又称之为智慧班牌&#xff0c;是当前校园数字化信息化建设、文化建设的主流&#xff0c;是校园日常工作安排、校园信息发布、班级文化风采展示、课堂交流的重要应用载体。智慧班牌系统在传统信息发布和校园文化展示功能基础上&#xff0c;融…

Polygon zkEVM ROM Spearbit审计报告解读(2023年6月Dragon Fruit升级版本)

1. 引言 前序博客有&#xff1a; Polygon zkEVM Hexens审计报告解读Polygon zkEVM Spearbit审计报告解读&#xff08;2022年12月版本&#xff09;Polygon zkEVM Spearbit审计报告解读&#xff08;2023年1月版本&#xff09;Polygon zkEVM Spearbit审计报告解读&#xff08;20…

计网自顶向下(多线程Web代理服务器)

目录 &#x1f33c;前言 &#x1f33c;多线程Web代理服务器 &#x1f392;过程 &#x1f3c0;解释 &#x1f333;代码 &#x1f33c;前言 前置知识 &#xff08;1&#xff09;进程 与 线程 进程与线程的一个简单解释 - 阮一峰的网络日志 (ruanyifeng.com) &#xff08;…

计算机组成原理 数据的表示与运算

文章目录 数据的表示与运算数据表示定点数的表示与运算定点数的表示无符号数有符号数定点整数定点小数四码反码补码移码 总结 定点数的运算算术移位原码反码补码总结 逻辑位移循环位移总结 加减运算原码加减法补码加减法 溢出判断采用一位符号位 浮点数的表示与运算表示IEEE 75…

【排序算法】【二叉树】【滑动窗口】LeetCode220: 存在重复元素 III

作者推荐 【二叉树】【单调双向队列】LeetCode239:滑动窗口最大值 本文涉及的基础知识点 C算法&#xff1a;滑动窗口总结 题目 给你一个整数数组 nums 和两个整数 indexDiff 和 valueDiff 。 找出满足下述条件的下标对 (i, j)&#xff1a; i ! j, abs(i - j) < indexDi…

2024校招测试工程师笔试——经典错题记录和解析

大家好&#xff0c;这篇文章记录几个测开方向经典的例题&#xff0c;并给出相应解析&#xff0c;欢迎给出你的看法 下列关于软件性能测试的说法中&#xff0c;正确的是&#xff1a;&#xff08; &#xff09; A 性能测试的目的不是为了发现软件缺陷 B 压力测试与负载测试的目的…

Ansible自动化运维(一)简介及部署、清单

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

腾讯云轻量应用服务器“镜像”如何选择比较好?

腾讯云轻量应用服务器镜像怎么选择&#xff1f;镜像是指轻量服务器的操作系统&#xff0c;可以选择宝塔Linux面板8.0.4腾讯云专享版&#xff0c;如果需要Win系统建议选择Windows Server 2012 R2 中文版&#xff0c;腾讯云服务器网txyfwq.com分享腾讯云轻量应用服务器镜像操作系…

如何使用Pyxamstore快速解析Xamarin AssemblyStore文件

关于Pyxamstore Pyxamstore是一款针对Xamarin AssemblyStore文件&#xff08;assemblies.blob&#xff09;的强大解析工具&#xff0c;该工具基于纯Python 2.7开发&#xff0c;支持从一个APK文件中解包并重封装assemblies.blob和assemblies.manifest Xamarin文件。 什么是ass…

谷歌Gemini Pro模型 Api 调用

写在前面 本篇博客主要介绍如下内容 Gemini Pro模型 ApiKey的申请 Gemini Pro模型 Api调用的方法 几个模型Api调用的demo程序 调用Gemini Pro模型中可能遇到的问题及解决方案 模型 ApiKey的申请 注册好Google账号&#xff0c;并在浏览器完成登录访问 : https://makersuite.g…

低成本TB级数据库技术选型之思考两三点

一、背景 前段时间在搞毕业论文的选题&#xff0c;最头疼的就是大量的文献检索和阅读&#xff0c;从研究的角度上我们可以将文献分为四类&#xff1a; 理论文献&#xff1a;为研究提供理论的框架和基础的文献。这些文献可能并不会和所做的研究直接相关&#xff0c;甚至由于理…

梦里河山:自在正定,跨年寄语

‍ ‍雏鹰高飞&#xff0c;我们也渐渐失去了新年第一天去香炉峰顶祈福的动力。向往着梦里河山&#xff0c;于是启动了这次的跨年之旅。 雾途 放假的第一天&#xff0c;早早起床&#xff0c;7点钟开车驱往赵子龙的故乡——正定。万万没有想到&#xff0c;出了五环&#xff0c;晨…

老品牌新玩法?经济内循环下逆势开出100多家门店,他被央视青睐!

2023年12月26日&#xff0c;CCTV-2整点财经栏目以“抢抓复苏机遇&#xff0c;连锁品牌主打新活力”为主题&#xff0c;播报我国老品牌发展现状&#xff0c;新消费时代以来&#xff0c;消费者的选择多样化、分众化、小众化、个性化&#xff0c;给“老品牌”发展带来前所未有的挑…

计算机毕业设计——SpringBoot社区物业管理系统(附源码)

1&#xff0c; 概述 1.1 课题背景 近几年来&#xff0c;随着物业相关的各种信息越来越多&#xff0c;比如报修维修、缴费、车位、访客等信息&#xff0c;对物业管理方面的需求越来越高&#xff0c;我们在工作中越来越多方面需要利用网页端管理系统来进行管理&#xff0c;我们…

Java商城 免 费 搭 建:鸿鹄云商实现多种商业模式,VR全景到SAAS,应有尽有

鸿鹄云商 b2b2c产品概述 【b2b2c平台】&#xff0c;以传统电商行业为基石&#xff0c;鸿鹄云商支持“商家入驻平台自营”多运营模式&#xff0c;积极打造“全新市场&#xff0c;全新 模式”企业级b2b2c电商平台&#xff0c;致力干助力各行/互联网创业腾飞并获取更多的收益。从消…