您的位置:首页 > 其它

【01背包】可怜的波特

2012-08-19 08:04 127 查看

题目:可怜的波特 rqnoj198

题目描述

哈里波特在姨夫家遭受非人待遇,他被迫做很多事。有一次,姨夫有给了他一大堆家务。哈里知道每件做完家务的时间,重要程度,还知道总时间与任务总数,他必须尽量合理的安排使他在规定时间内完成的重要程度最大。

输入格式

第一行,t,m(t,m<=10000)表示哈里波特的时间和姨夫要他做的家务数。
接下来m行,每行2个值表示该任务所须的时间与重要度(均小于5000)。

输出格式

一行di表示完成的任务重要数总和。

样例输入

70 3
71 100
69 1
1 2

样例输出

3

这道题和RQNOJ15一模一样,只是换了一个背景换了一种说法,数据规模大了点,其他一点没变 /article/6530902.html

Pascal Code

program rqnoj198;

var
n,m:longint;
t,p:array[0..10000+10] of longint;
f:array[0..10000+10] of longint;

procedure init;
begin
assign(input,'rqnoj198.in');
assign(output,'rqnoj198.out');
reset(input);
rewrite(output);
end;
procedure outit;
begin
close(input);
close(output);
halt;
end;

procedure readdata;
var
i:longint;
begin
read(n,m);
for i:=1 to m do
read(t[i],p[i]);
end;

procedure main;
var
i,j:longint;
begin
for i:=1 to m do
for j:=n downto t[i] do
begin
if f[j]<f[j-t[i]]+p[i] then
begin
f[j]:=f[j-t[i]]+p[i];
end;
end;
writeln(f
);
end;

begin
init;
readdata;
main;
outit;
end.


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: