华为机试——0-1背包问题

2023-10-31

华为机试——0-1背包问题

给定一个数,比如20,然后给定几个数字,如1 3 5 7 8

输出:

1 3 5 7 8

0 0 0 1 1

因为5+7+8=20

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main()
{
    int number,tmp,max=0,index;
    vector<int> num;
    vector<int> count;
    int total_number=0;
    cin>>number;
    while(cin>>tmp)
        num.push_back(tmp);
    int length=num.size();
    for(int i=0;i<length;i++)
        count.push_back(0);
//  sort(num.begin(),num.end(),greater<int>());
    while(total_number <= number)
    {
        if(total_number == number)
            break;
        for(int i=0;i<length;i++)
        {
            if(num[i]>max && count[i]==0)
            {
                max=num[i];
                index=i;
            }
        }
        total_number += max;
        ++count[index];
        max=0;

    }
    for(int i=0;i<length;i++)
        cout<<num[i]<<" ";
    cout<<endl;
    for(int i=0;i<length;i++)
        cout<<count[i]<<"  ";
    cout<<endl;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

华为机试——0-1背包问题 的相关文章

  • OD华为机试 25

    按索引范围翻转文章片段 描述 输入一个英文文章片段 翻转指定区域的单词顺序 标点符号和普通字母一样处理 例如输入字符串 I am a developer 0 3 则输出 developer a am I 输入描述 使用换行隔开3个参数 第一
  • 华为机试——0-1背包问题

    华为机试 0 1背包问题 给定一个数 比如20 然后给定几个数字 如1 3 5 7 8 输出 1 3 5 7 8 0 0 0 1 1 因为5 7 8 20 include
  • 华为OD机试 C++ 字符串化繁为简

    描述 给你一串只包含英文字母 无论大写或小写 和小括号的字符 注意 小括号总是成对出现 并且不会互相嵌套 小括号里的英文字母表示它们之间是等价的 比如在 ab 里 a 和 b 是等价的 而在 bc 里 b 和 c 是等价的 因此 a b 和
  • 2023华为od机试真题B卷Python【矩阵里的非一元素】

    题目 假设存在一个m n的二维数组 其成员取值范围为0 1和2 1具有同化特性 它具体的同花步骤是 每经过1秒 如果其上下左右值为0 那么修改为1 而值为2的元素不会有任何变化 初始时 将数组的 0 0 元素修改为1 经过足够长的时间后 需
  • 华为OD机试真题-自动曝光 【2023.Q1】

    题目内容 一个图像有n个像素点 存储在一个长度为n的数组img里 每个像素点的取值范围 0 255 的正整数 请你给图像每个像素点值加上一个整数k 可以是负数 得到新图newImg 使得新图newImg的所有像素平均值最接近中位值128 请
  • Python实现字符串分隔(华为机试)

    目录 题目描述 题目分析 测试用例 代码 传送门 题目描述 连续输入两组字符串 请按长度为8拆分每个字符串后输出新的字符数组 长度不是8整数倍的字符数组请在后面补0 输入 输出示例 输入 abc 123456789 输出 abc00000
  • 老卫带你学---华为机试(17.坐标移动)

    华为机试 17 坐标移动 问题 题目描述 开发一个坐标计算工具 A表示向左移动 D表示向右移动 W表示向上移动 S表示向下移动 从 0 0 点开始移动 从输入字符串里面读取一些坐标 并将最终输入结果输出到输出文件里面 输入 合法坐标为A 或
  • 华为od机试 Java 【单词前缀】

    题目 描述 给定一个单词前缀和一个字典 你的任务是从字典中找出所有以该前缀开头的单词 输入 输入的第一个单词是你要查找的前缀 接下来的数字表示字典中的单词数量 紧随其后的是字典中的单词 单词之间由空格分隔 输出 如果存在以给定前缀开头的单词
  • 华为OD机试 C++【代表团坐车】

    题目 一场大会上 有好几个代表团同时到达 接待处的问题是 只有一辆车去接 而这车的座位是有限的 你的任务是帮助接待员算出 有多少种方法可以让这车的座位恰好坐满 不多也不少 限制条件 每个代表团的人数都不会超过车的总座位数 每个代表团的人数和
  • 华为OD机试 C++ 去除多余空格

    题目 你需要写一个功能 它能处理一段文本 去除其中不必要的空格 但是如果这些空格被一对单引号包围起来 就保留它们不变 同时 你还要调整一些特定词汇的位置 这些词汇的位置会以坐标的方式给出 坐标要基于新的文本 特别注意 关键词的位置一定不是空
  • 华为OD机试 C++ 【最佳的出牌方法】

    题目 想象一下 你有5张扑克牌 牌面数字是1 10 还有J Q K 计算五张牌的总分 如果这5张牌是连续的 比如5 6 7 8 9 每张牌的分数就是它数字的两倍 如果不连续 那每张牌的分数就是它的数字 但有个小技巧 如果你有2或3张一样的牌
  • 华为OD机试 C++ 最快到达医院的方法

    描述 武汉出现了交通封锁 导致大壮在考虑去附近的医院时遇到了难题 大壮住在武汉 他家附近有两家医院 医院A距离他X公里 去这家医院 大壮只能乘坐计程车 车速为M米 分钟 但要等车L分钟 医院B距离他Y公里 但去这家医院 大壮只能选择步行 速
  • 华为OD机试-机器人走迷宫

    题目描述 机器人走一个迷宫 给出迷宫的x和y x y的迷宫 并且迷宫中有障碍物 输入k表示障碍物有k个 并且会将障碍物的坐标挨个输入 机器人从0 0的位置走到x y的位置并且只能向x y增加的方向走 不能回退 如代码类注释展示的样子 表示可
  • 华为OD机试 Java 实现【密码强度等级】【牛客练习题】,附详细解题思路

    一 题目描述 密码按如下规则进行计分 并根据不同的得分为密码进行安全等级划分 1 密码长度 5 分 小于等于4 个字符 10 分 5 到7 字符 25 分 大于等于8 个字符 2 字母 0 分 没有字母 10 分 密码里的字母全都是小 大
  • 2023华为od机试统一考试B卷【雨花石难题】

    题目描述 MELON是一个热爱雨花石的人 他拥有一堆数量为n的精美雨花石 每块石头的重量都不相同 现在 MELON想要将这些雨花石平均分给他的朋友S和W 以使两人所得到的石头的重量相等 你需要设计一个程序 来帮助MELON确认是否可以实现这
  • 华为机试学习——字符串最后一个单词的长度

    问题描述 计算字符串最后一个单词的长度 单词以空格隔开 字符串长度小于5000 注 字符串末尾不以空格为结尾 include
  • 华为OD机试真题(Java),吃到最多的刚好合适的菜(100%通过+复盘思路)

    一 题目描述 入职后 导师会请你吃饭 你选择了火锅 火锅里会在不同时间下很多菜 不同食材要煮不同的时间 才能变得刚好合适 你希望吃到最多的刚好合适的菜 但你的手速不够快 用m代表手速 每次下手捞菜后至少要过m庙才能在捞 每次只能捞一个 那么
  • 华为OD机试真题 Java 实现【整数对最小和】【2022Q4 100分】,附详细解题思路

    一 题目描述 给定两个整数数组array1 array2 数组元素按升序排列 假设从array1 array2中分别取出一个元素可构成一对元素 现在需要取出k对元素 并对取出的所有元素求和 计算和的最小值 注意 两对元素如果对应于array
  • OD华为机试 23

    篮球比赛 描述 篮球 5V5 比赛中 每个球员拥有一个战斗力 每个队伍的所有球员战斗力之和为该队伍的总体战斗力 现有10个球员准备分为两队进行训练赛 教练希望2个队伍的战斗力差值能够尽可能的小 以达到最佳训练效果 给出10个球员的战斗力 如
  • 2023华为OD机试真题 C++ 实现【寻找最大价值的矿堆/深度优先搜索】

    题目 我们规定 0表示空地 1表示银矿 2表示金矿 矿堆表示由相邻的金矿或银矿连接形成的地图 银矿价值是1 金矿价值是2 你的目标是找出地图中最大价值的矿堆 并且输出该矿堆的价值 示例1 输入 22220 00000 00000 01111

随机推荐

  • android 代码 卸载app,Android在一个app中安装并卸载另一个app的示例代码

    Android在一个app中安装并卸载另一个app 1 在app src main下新建文件夹asserts 将准备安装的apk文件放在asserts内 2 在app src main res下新建文件夹xml 右击xml文件夹 选择new
  • GCC安全编译选项

    转载自 http www jackieathome net archives 796 html 前言 今天在学习编译器堆栈保护技术时 突然发现gcc的安全编译选项我还从来没去了解过 发现一篇写的不错的帖子 进行转载保存 以CMake为例 给
  • 家里旧电脑改造媒体中心打造最强播放器geexbox 转载

    Geexbox是什么 Geexbox其实是个集成了mplayer的Mini Linux系统 支持大部分媒体文件编码 包括divx xvid RM RMVB MPEG 4 wmv MP3等 也能播放常见图像文件 如果联网 在线视频照样可以看
  • css3-pointer-events_demo

    该demo定义了一个菜单 点击了一次之后就不能再点击 另外其中也用到了flex布局 可直接将代码复制运行即可
  • 小程序跳转小程序

    小程序跳转另一个小程序 js如下 tzxcx function wx navigateToMiniProgram appId wxde8ac0a21135c07d 要打开的小程序 appId path 打开的页面路径 如果为空则打开首页 e
  • linux:ubuntu 22.04如何更换阿里源

    参考 https www cnblogs com liujiaxin2018 p 16373668 html 说明 为什么要换阿里源 因为原先系统自带的源地址无法访问 墙的原因 所以必须换成国内的源 附带可能遇到问题的处理 Ubuntu中
  • 阿里云OSS存储

    目录 一 阿里云OSS存储 二 SDK了解 三 Spring Boot集成OSS 一 阿里云OSS存储 对象存储OSS 为了解决海量数据存储与弹性扩容 我们采用云存储的解决方案 1 开通对象存储OSS服务 1 申请阿里云账号 2 实名认证
  • 自我理解:封装、继承和多态

    一 封装 1 概念 封装就是隐藏对象的属性和实现细节 只对外公开一些操作内部属性的方法 接口 函数 2 目的 增强安全性 简化编程 使用者不必了解具体的实现细节 只需要通过外部接口 就可以对类的内部成员进行操作 class A public
  • avalonJS-源码阅读(三) VMODEL

    2019独角兽企业重金招聘Python工程师标准 gt gt gt avalon dom小结 看过前面三篇文章后 应该会对avalon关于dom的处理有个大体的理念 这里再理一遍 avalon通过手动触发scan函数来遍历dom 然后根据m
  • mybatis学习记录(四)-----MyBatis核心配置文件详解

    目录 MyBatis核心配置文件详解 4 1 environment 4 2 transactionManager 4 3 dataSource 4 4 properties 4 5 mapper MyBatis核心配置文件详解 mybat
  • PLC常用的通信协议有哪些?如何进行协议解析和远程上下载?

    PLC有西门子 三菱 欧姆龙 施耐德 罗克韦尔等国外品牌 也有台达 汇川 信捷等国内品牌 具备不同的协议 给企业的设备通信和远程监控带来困扰 因此 很多企业在选择工业网关都会考虑兼容协议解析功能 以便实现在更多的场景得到应用 提高生产效率降
  • 计算机课代表专业演讲稿,信息课代表演讲稿

    信息课代表演讲稿 由会员分享 可在线阅读 更多相关 信息课代表演讲稿 2页珍藏版 请在人人文库网上搜索 1 信息课代表演讲稿今天 很荣幸走上讲台 和那么多乐意为班级作贡献的同学一道 竞选班委 我为此竞选的是信息课代表 我想 我将用旺盛的精力
  • C++学习 类的分文件实现

    mian cpp测试文件 include
  • 【数据库】NoSQL数据库简介

    基于自己的理解 对几个常见的NoSQL数据库进行一下简单介绍 如有描述错误的 欢迎指正 一 数据库分类 数据库分两大类 SQL数据库和NoSQL数据库 SQL数据库 常用的有 Mysql Oracle MSSQL DB2等 这些大家应该都比
  • $.each()方法的使用

    jQuery中 each 方法的使用 each 是对数组 json和dom结构等的遍历 说一下他的使用方法吧 1 遍历一维数组 var arr1 aa bb cc dd each arr1 function i val 两个参数 第一个参数
  • 【AAAI 2021】多出口架构的知识蒸馏:Harmonized Dense Knowledge Distillation Training for Multi-Exit Architectures

    AAAI 2021 多出口架构的知识蒸馏 Harmonized Dense Knowledge Distillation Training for Multi Exit Architectures 论文地址 主要问题 主要思路 多出口网络
  • Java 面向对象之封装

    目录 1 类和对象 2 单个对象内存图 3 两个对象内存图 4 两个引用指向同一对象内存图 5 成员变量和局部变量 6 private 关键字 7 this 关键字 8 this 内存原理 9 封装 10 构造方法 面向过程编程 POP P
  • sqli-labs-master【Less-11/12/13/14/15/16】

    Less 11 进入Less 11之后 可以看到是全新的关卡 是一个表单的形式 需要我们填入用户名和密码才可以提交 首先我们随便填入一个用户名和密码看页面会回显给我们什么内容 我在这块用户名和密码都输入的是123 可以看到登陆尝试失败 不过
  • java中steam流的使用

    1 数组合并 原始合并 定义俩个集合合并为一个集合 例子 public class 测试 把小王合道 list中 public static void main String args throws Exception final Arra
  • 华为机试——0-1背包问题

    华为机试 0 1背包问题 给定一个数 比如20 然后给定几个数字 如1 3 5 7 8 输出 1 3 5 7 8 0 0 0 1 1 因为5 7 8 20 include