weixin_53185809 2021-08-25 09:05 采纳率: 90.9%
浏览 87
已结题

我不会这道题,请帮帮我。

4.生日礼物 (gift)
【问题描述】
Kobe有N元钱,M个商品可以选择,每个商品有一定的价格P。他对每个商品有不同的满意度F,希望在花费不超过N元的情况下,使得买到的商品的满意度总和最大。
【输入文件】
第一行为N,第二行为M
第三行到第M+2行为两个数,分别为商品的价格P和满意度F
【输出文件】
买到的商品的最大满意度总和.
【样例输入】
47.13
4
17.11 2
11.48 1
18.42 2
30.01 2
【样例输出】
5
【数据规模】
对于40%的数据有:
0<=N<=100且N小数点后有两位小数
1<=M<=100
对于100%的数据有:
0<=N<=10000且N小数点后有两位小数
1<=M<=10000
1<=F<=2且F为整数
0<=P<=100且P小数点后有两位小数

  • 写回答

6条回答 默认 最新

  • IDoSomething 2021-08-25 09:18
    关注
    
    #include <iostream>
    #include <algorithm>
    using namespace std;
    const int N = 1010;
    int v[N], w[N];
    int f[N];
    int n, m;
    
    int main()
    {
        cin >> n >> m;
        for(int i = 1; i <= n; i++) cin >> v[i] >> w[i];
    
        for(int i = 1; i <= n; i++)
    
            for(int j = v[i]; j <= m; j++)
            {
                f[j] = max(f[j], f[j - v[i]] + w[i]);
            }
        cout << f[m] << endl;
        return 0;
    }
    

    ```

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 9月2日
  • 已采纳回答 8月25日
  • 提问应符合社区要求 8月25日
  • 创建了问题 8月25日

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料