Advertisement

动规-P1048 采药(DP)

阅读量:

题目描述
辰辰是一个聪明才智出众的孩子。他的理想是成为一名最杰出的医生。为此,他希望拜附近最有声望的医生为师。一位有威望的医生带着他进入了一个充满了各种草药的洞穴里说道:“孩子,这个洞穴里有一些不同的草药,采摘每一株都需要花费一定的时间,而每株草药也有其重要性。我会给你限定的时间段,在这段时间内你将有机会采摘若干草药。作为一名聪明的孩子,你应该尽力让采摘到的草药总价值最大化。”

如果你是辰辰,你能完成这个任务吗?

在第一行中包含两个整数 T 和 MM(其中满足条件:1 <= T <= 1000 和 1 <= M <= 100),它们之间通过空格分隔开。其中 T 表示可用于采药的时间总量(单位:时间单位),而 MM 则表示山洞中草药的数量(单位:草药)。

后续共有 M 组数据, 每个数据组包含两个数值, 分别对应采摘某株草药所需的时间以及该草药的价值, 这两个数值均在 1 到 100 的整数范围内(包含端点值)。

输出格式
输出在规定的时间内可以采到的草药的最大总价值。

输入输出样例
输入 #1\

复制代码
    70 3
    71 100
    69 1
    1 2

输出 #1

复制代码
    3

类似于背包问题
代码如下:

复制代码
    #include <stdio.h>
    typedef struct 

全部评论 (0)

还没有任何评论哟~