切换到宽版
  • 27752阅读
  • 50回复

关于采药问题 [复制链接]

上一主题 下一主题
离线q422158622
 
只看楼主 倒序阅读 0 发表于: 2006-11-11
— 本帖被 stevenjl 从 竞赛题库 移动到本区(2007-08-12) —
noip2005 普及组复赛第三题~~~~~~~~~~~~
采药
(medic.pas/c/cpp)


【问题描述】


辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”

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



【输入文件】



输入文件medic.in的第一行有两个整数T(1 <= T <= 1000)和M(1 <= M <= 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。



【输出文件】



输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总价值。



【样例输入】
70 3

71 100

69 1

1 2

【样例输出】

3

【数据规模】

对于30%的数据,M <= 10;

对于全部的数据,M <= 100。
请给位大牛帮帮小弟吧!!!
离线stchwty
只看该作者 1 发表于: 2006-11-11
用贪心算法....我还没试来..
谁有NOIP2005复赛普及组的答案发一下!~
离线q422158622
只看该作者 2 发表于: 2006-11-12
它算是双重背包吧~~~~~~~~就是我还不会贪心算法
离线sunshow
只看该作者 3 发表于: 2006-11-12
可以用贪心法
贪心标准是'单位时间价值最大'
离线victorlee129
只看该作者 4 发表于: 2006-11-12
动态规划!
离线victorlee129
只看该作者 5 发表于: 2006-11-12
贪心好像不行
离线victorlee129
只看该作者 6 发表于: 2006-11-12
俺牛!程序在这!
描述:程序pas版
附件: medic.zip (1 K) 下载次数:60
离线stchwty
只看该作者 7 发表于: 2006-11-12
楼上的严重错误
离线q422158622
只看该作者 8 发表于: 2006-11-14
我载了可是好像被病毒侵蚀了!!!
离线zxf
只看该作者 9 发表于: 2006-11-14
var m,n,a,b,i,j:longint;
  x:array[0..1000]of longint;
begin
readln(m,n);
fillchar(x,sizeof(x),0);
for i:=1 to n do
begin
readln(a,b);
if m-a>0 then
  for j:=m-a downto 0 do
  if x[j]+b>x[j+a] then x[j+a]:=x[j]+b;
end;
writeln(x[m]);
end.
快速回复
限100 字节
 
上一个 下一个