码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 南阳OJ106-背包问题(贪心算法)


    背包问题

    时间限制: 3000 ms  |  内存限制: 65535 KB

    难度: 3

    描述

    现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。

    输入

    第一行输入一个正整数n(1<=n<=5),表示有n组测试数据;
    随后有n测试数据,每组测试数据的第一行有两个正整数s,m(1<=s<=10);s表示有s个物品。接下来的s行每行有两个正整数v,w。

    输出

    输出每组测试数据中背包内的物品的价值和,每次输出占一行。

    样例输入

    1
    3 15
    5 10
    2 8
    3 9
    

    样例输出

    65

    来源

    [苗栋栋]原创

    题意:有s个物体,一个背包容积为吗,现在有s个物体各自的质量和价值,求怎么样装满背包才能让其价值最大

    分析:这其实是利用了贪心的思想,肯定是先挑价值大的装,装完后再装价值小的!明白这一点代码就很容易实现了!

    #include
    #include
    #include
    using namespace std;
    struct as
    {
         int v;
         int w;
    }aa[11];//用结构体将物体的信息存起来 
    bool cmp(as x,as y)
    {
         return x.v>y.v;//按价值从高到底排序
    }
    int main()
    {
         int n,s,m,i;
         scanf("%d",&n);
         while(n--)
         {
          	scanf("%d%d",&s,&m); 
             for(i=0;i=aa[i].w)//如果背包剩下的体积够装下一种物体的全部,就全部都装进去 
                 {
                     sum+=aa[i].v*aa[i].w;
                     m-=aa[i].w;
                 }
                 else
                 {
                     sum+=m*aa[i].v;//如果不够装下一种物体的全部,就能装多少是多少,装满为止 
                     break;
                 }
             }
             printf("%d\n",sum);//输出最多的价值 
         }
        return 0;
    }


     

  • 相关阅读:
    用android如何实现计算机计算功能
    Bandizip批量解压遇到的问题
    vue路由
    中颖单片机SH367309全套量产PCM,专用动力电池保护板开发资料
    C++-Cmake指令:add_custom_target【增加一个没有输出的目标,使得它总是被构建】
    数据结构与算法编程题2
    常用的设计模式
    Spring——AOP(Aspect Oriented Programming)
    小窗口大魔力,实况窗服务实时掌控重要信息变化
    C Primer Plus(6) 中文版 第5章 运算符、表达式和语句 5.6 带参数的函数
  • 原文地址:https://blog.csdn.net/weixin_67271870/article/details/128169082
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号