讨论 / 帮我看一下为什么错?
wwww 2008-08-24 04:31:00
点我顶贴 收藏 删除
var g:array[0..100,0..100,0..100]of longint;

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

n,m,r,i,j,k,l,t:longint;

begin

read(n,m,r);

for i:=1 to n do read(a[i],b[i],c[i],d[i]);

for i:=1 to n-1 do

for j:=i+1 to n do

if a[i]>a[j] then begin t:=a[i];a[i]:=a[j];a[j]:=t;

t:=b[i];b[i]:=b[j];b[j]:=t;

t:=c[i];c[i]:=c[j];c[j]:=t;

t:=d[i];d[i]:=d[j];d[j]:=t;

end;

for l:=1 to n do

for i:=1 to l-1 do

if a[i]<a[l] then

for j:=m downto b[i] do

for k:=r downto c[i]+1 do

if g[l,j,k]<g[i,j-b[i],k-c[i]]+d[i] then g[l,j,k]:=g[i,j-b[i],k-c[i]]+d[i];

write(g[n,m,r]+d[n]);

end.

#1 Mato完整版@2008-08-23 23:29:00
回复 删除
value相同的信只能读一件。
#2 guoshi3@2008-08-24 04:31:00
回复 删除
这是二维费用的分组背包
查看更多回复
提交回复