讨论 / 这题杂做啊?
3508855 2008-06-09 06:48:00
点我顶贴 收藏 删除
我用的是背包

program harry;

var

f:array[0..10000,0..10000] of longint;

v,w:array[1..5000]of integer;

n,i,j,t:integer;

function max(x,y:longint):longint;

begin

if x>y then max:=x

else max:=y;

end;

begin

readln(t,n);

for i:=1 to n do readln(w[i],v[i]);

for i:=1 to t do f[0,i]:=0;

for i:=1 to n do f[i,0]:=0;

for i:=1 to n do

for j:=1 to t do

if j>=w[i] then

f[i,j]:=max(f[i-1,j-w[i]]+v[i],f[i-1,j])

else f[i,j]:=f[i-1,j];

writeln(f[n,t]);

end.

结果只有50分

3错

2超时

#1 gaoxin@2008-05-26 04:16:00
回复 删除
采药的程序0分,都超时,郁闷
#2 fjxmlhx@2008-05-26 04:16:00
回复 删除
var

n,m,i,j,a,b:longint;

f:array[0..15000] of longint;

begin

readln(n,m);

for i:=1 to m do

begin

readln(a,b);

for j:=n downto a do if f[j-a]+b>f[j] then f[j]:=f[j-a]+b;

end;

writeln(f[n]);

end.

自己看吧..数据规模大了很多当然超时..还有..不要乱用函数.速度比if慢。

#3 zht@2008-06-09 06:11:00
回复 删除
状态: Unaccepted

测评机: Virmain[1]

得分: 10分

提交日期: 2008-6-9 21:09:00

有效耗时: 该状态没有记录

测试结果1: 无输出|运行超时

测试结果2: 无输出|运行超时

测试结果3: 测试结果正确

测试结果4: 运行错误|普通保护错误

测试结果5: 运行错误|普通保护错误

测试结果6: 运行错误|普通保护错误

测试结果7: 运行错误|普通保护错误

测试结果8: 运行错误|普通保护错误

测试结果9: 运行错误|普通保护错误

测试结果10: 无输出|运行超时

用的是采药的程序

郁闷~~~~~~~~~~

#4 sxpeter@2008-06-09 06:48:00
回复 删除
据说这题的数据和采药一样

咋我也A不了呢

查看更多回复
提交回复