当前位置: 首页 > article >正文

点菜问题(北京大学考研机试题01背包)

北大网络实验室经常有活动需要叫外卖,但是每次叫外卖的报销经费的总额最大为 CC 元,有 NN 种菜可以点,经过长时间的点菜,网络实验室对于每种菜 ii 都有一个量化的评价分数(表示这个菜可口程度),为 ViVi,每种菜的价格为 PiPi, 问如何选择各种菜,使得在报销额度范围内能使点到的菜的总评价分数最大。

注意:由于需要营养多样化,每种菜只能点一次。

输入格式

输入的第一行有两个整数 CC 和 NN,CC 代表总共能够报销的额度, NN 代表能点菜的数目。

接下来的 NN 行每行包括两个整数 PiPi 和 ViVi,分别表示第 ii 道菜的价格和评价分数。

输出格式

输出共一行,一个整数,表示在报销额度范围内,所点的菜能够得到的最大评价分数。

数据范围

1≤C≤10001≤C≤1000,
1≤N≤1001≤N≤100,
1≤Pi,Vi≤1001≤Pi,Vi≤100

输入样例:
90 4
20 25
30 20
40 50
10 18
输出样例:
95
#include<bits/stdc++.h>
using namespace std;
const int N = 1010;
int f[N][N];
int c,n;
int p[N],v[N];
int main()
{
    cin>>c>>n;
    for(int i=1;i<=n;i++) cin>>p[i],cin>>v[i];
    
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=c;j++)
        {
            f[i][j]=f[i-1][j];
            
            if(j>=p[i]) f[i][j]=max(f[i-1][j],f[i-1][j-p[i]]+v[i]);
        }
    }
    cout<<f[n][c];
    return 0;
}

 


http://www.kler.cn/news/353428.html

相关文章:

  • 华为OD机试2024年真题(基站维修工程师)
  • RHCE【远程连接服务器】
  • 【前端】如何制作一个自己的网页(16)
  • Go 语言初探
  • 使用JMeter录制元件来录制HTTPS下的脚本
  • JavaScript 中String.repeat() 的用法
  • 上海数据集团到访蓝象智联 探讨数据基础设施建设
  • 2.html编辑器介绍
  • MySQL 8.4.0解压版安装记录
  • Gin框架操作指南01:开山篇
  • 【前端】如何制作一个自己的网页(6)
  • 【TDA】mapper
  • MVC与MVVM
  • 【Windows】【DevOps】Windows Server 2022 采用WinSW将一个控制台应用程序作为服务启动(方便)
  • 百度测开等开奖了
  • 国际期货收费行情源CTP推送式/期货配资软件开发对接行情源的技术性说明
  • LeetCode第239题:滑动窗口k内求最大值
  • gaussdb 基础管理 数据库 表 用户 模式 权限 存储过程
  • 【优选算法篇】双指针的华丽探戈:深入C++算法殿堂的优雅追寻
  • Linux驱动开发——设备树
  • 【C++11入门】新特性总结大全-Part2
  • Android中实现网络请求的方式有哪些?
  • 机器学习在聚合物及其复合材料中的应用与实践
  • 羲和数据清洗器002
  • 纯HTML实现标签页切换
  • uni-app 打包成app时 限制web-view大小