记录编号 8268 评测结果 AAAAAAAAAA
题目名称 [BYVoid S1] 灵魂分流药剂 最终得分 100
用户昵称 GravatarSMXX 是否通过 通过
代码语言 Pascal 运行时间 0.016 s
提交时间 2008-11-13 14:23:14 内存使用 11.61 MiB
显示代码纯文本
program df;
var
f1,f2:text;
h,max:longint;
n,m,a,b,w,v,i,j,g:longint;
o:array[1..1000]of integer;
x,y,z:array[1..1000,1..1000]of longint;
procedure dfs(p:integer);
var i:integer;
begin
for i:= 1to o[p]+1 do
   if (w+x[p,i]<=a)and(v+y[p,i]<=b) then begin
       w:=w+x[p,i];v:=v+y[p,i];h:=h+z[p,i];
       if p<m then dfs(p+1)
               else if h>max then max:=h;
       w:=w-x[p,i];v:=v-y[p,i];h:=h-z[p,i];
       end;
end;
begin
assign(f1,'soultap.in');
assign(f2,'soultap.out');
reset(f1);
rewrite(f2);
readln(f1,n,m,a,b);
for i:= 1to m do o[i]:=0;
for i:= 1to n do begin
  readln(f1,w,v,g,h);
  inc(o[g]);
  x[g,o[g]]:=w;
  y[g,o[g]]:=v;
  z[g,o[g]]:=h;
  end;
w:=0;v:=0;
h:=0;max:=-11;
dfs(1);
writeln(f2,max);
close(f1);
close(f2);
end.