讨论 / 有什么问题????????
zxk19991 2013-11-04 21:23:48
点我顶贴 收藏 删除
var

p,i,j,m,r,l,u,y:longint;

g:array[0..100,0..100,1..2] of longint;

a,b,c:array[1..100] of longint;

begin

read(p);

for i:=1 to p do

begin

read(a[i],b[i],c[i]);

readln;

end;

read(m,r);

fillchar(g,sizeof(g),0);

for i:=1 to p do

for l:=m downto a[i] do

for j:=r downto b[i] do

begin

if (g[l,j,1]<g[l-a[i],j-b[i],1]+1)or((g[l,j,1]=g[l-a[i],j-b[i],1])and(g[l,j,2]>g[l-a[i],j-b[i],2]+c[i]))

then

begin

g[l,j,1]:=g[l-a[i],j-b[i],1]+1;

g[l,j,2]:=g[l-a[i],j-b[i],2]+c[i];

end;

end;

u:=-1000000;

y:=100000;

for l:=0 to m do

for j:=0 to r do

if (g[l,j,1]>u)or((g[l,j,1]=u)and(g[l,j,2]<y))

then

begin

u:=g[l,j,1];

y:=g[l,j,2];

end;

writeln(g[l,j,2]);

end.

查看更多回复
提交回复