??牛客网–点菜问题(01背包问题)

??牛客网–点菜问题(01背包问题)

题目描述
北大网络实验室经常有活动需要叫外卖,但是每次叫外卖的报销经费的总额最大为C元,有N种菜可以点,经过长时间的点菜,网络实验室对于每种菜i都有一个量化的评价分数(表示这个菜可口程度),为Vi,每种菜的价格为Pi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。 注意:由于需要营养多样化,每种菜只能点一次。
输入描述:
输入的第一行有两个整数C(1 <= C <= 1000)和N(1 <= N <= 100),C代表总共能够报销的额度,N>代表能点菜的数目。接下来的N行每行包括两个在1到100之间(包括1和100)的的整数,分别表示菜的>价格和菜的评价分数。
输出描述:
输出只包括一行,这一行只包含一个整数,表示在报销额度范围内,所点的菜得到的最大评价分数。
链接:https://www.nowcoder.com/questionTerminal/b44f5be34a9143aa84c478d79401e22a
来源:牛客网

     #include<bits/stdc++.h>
using namespace std;

struct cai{
    int price;
    int score;
}cai[101];
    
    
int max(int i,int j){
    return (i>j)?i:j;
}


int main(){
    int c,n;//c报销总额,n菜的数目
    int dp[1001];//对应报销额的评分
    while(cin>>c>>n){
        for(int i=0;i<n;i++){
            cin>>cai[i].price>>cai[i].score;
        }
      memset(dp,0,sizeof(dp));
        for(int i=0;i<n;i++){//菜的种类
            for(int j=c;j>=cai[i].price;j--){//可报销的额度(限制因素)
                dp[j]=max(dp[j],dp[j-cai[i].price]+cai[i].score);
            }
        }
        cout<<dp[c]<<endl;
    }
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/100215.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Django(44)drf序列化源码分析[通俗易懂]

    Django(44)drf序列化源码分析[通俗易懂]序列化与反序列化一般后端数据返回给前端的数据格式都是json格式,简单易懂,但是我们使用的语言本身并不是json格式,像我们使用的Python如果直接返回给前端,前端用的javascript语言是识

  • AnalyticDB for MySQL:PB级云数仓核心技术和场景解析[通俗易懂]

    AnalyticDB for MySQL:PB级云数仓核心技术和场景解析[通俗易懂]2019阿里云峰会·上海开发者大会于7月24日盛大开幕,本次峰会与未来世界的开发者们分享开源大数据、IT基础设施云化、数据库、云原生、物联网等领域的技术干货,共同探讨前沿科技趋势。本文整理自数据库专场中阿里云智能高级技术专家南仙的精彩演讲,本文为分享了阿里云PB级云数据仓库AnalyticDBforMySQL的核心技术以及其应用场景。数据库专场PPT下载本文内容整理自演讲视频以及PPT…

  • 程序英语

    decline衰退、减少configure配置、设定consult顾问duediligence尽调sheet表单、纸、被单Extraction-Loading-TransformationIntegratedDevelopmentEnvironmentide集成开发环境desktop桌面console控制台orient标定方向 at…

  • 45天带你玩转Node(第二天)走进Node.js「建议收藏」

    45天带你玩转Node(第二天)走进Node.js「建议收藏」粉丝要求博主系统的写一篇关于Node.js的学习资料,但其实我们的Node.js知识点并不少,所以博主为大家搭建了一个专栏,为了方便大家系统的学习Node.js,大家记得订阅哦!虽然我们的Node.js还很年轻,但是他也已经有了很高的地位,让我们尽情的畅游在Node.js的专栏中吧,希望通过此专栏我们能够系统的将Node.js学好,它将会成为我们的一大亮点,我们可以用这款前端中的后端语言让提升我们的价值与眼界,如今的他也已经成为面试官口中的高并发面试内容了,一起加油!

  • GFS – The Google File System

    GFS – The Google File SystemTheGoogleFileSystemhttp://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.789&amp;rep=rep1&amp;type=pdfhttp://www.dbthink.com/?p=501,中文翻译 Google牛人云集的地方,但在设计系统时,却非常务实,没有采用什么复杂和时髦…

  • python解析xml文件(解析、更新、写入)

    python解析xml文件(解析、更新、写入)Overview这篇博客内容将包括对XML文件的解析、追加新元素后写入到XML,以及更新原XML文件中某结点的值。使用的是python的xml.dom.minidom包,详情可见其官方文档:xml.dom.minidom官方文档。全文都将围绕以下的customer.xml进行操作:<?xmlversion=”1.0″encoding=”utf-8″?><!–Thi…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号