讨论 / 大牛帮我看看哪错了
阮鹏博 2011-08-16 07:10:00
点我顶贴 收藏 删除
var n,m,r:Longint;

rmb,rp,time:Array[1..100]of Longint;

f,t:Array[0..50,0..50]of Longint;

Procedure Init;

var i:Longint;

begin

readln(n);

for i:=1 to n do

readln(rmb[i],rp[i],time[i]);

readln(m,r);

end;

Procedure Main;

var

i,j,k:Longint;

begin

for i:=1 to n do

for j:=m downto rmb[i] do

for k:=r downto rp[i] do

if f[j,k]<f[j-rmb[i],k-rp[i]]+1 then

begin

f[j,k]:=f[j-rmb[i],k-rp[i]]+1;

t[j,k]:=t[j-rmb[i],k-rp[i]]+time[i];

end

else

if f[j,k]=f[j-rmb[i],k-rp[i]]+1 then

if t[j,k]>t[j-rmb[i],k-rp[i]]+time[i] then

t[j,k]:=t[j-rmb[i],k-rp[i]]+time[i];

writeln(t[m,r]);

end;

Begin

Init;

Main;

End.

查看更多回复
提交回复