比赛 NOIP2008集训模拟4 评测结果 AEWWEEEEET
题目名称 灵魂分流药剂 最终得分 10
用户昵称 辨机ZN 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-11-13 10:24:53
显示代码纯文本
program ex(f1,f2);
 type
  ka=record
   w,v,t,p:integer;
  end;
  zn=array [1..105] of ka;
  fa=array [1..11] of boolean;
 var
  f1,f2:text; tot:longint; a:zn; flag:fa;
  w,v,p,t,m,n,l,i,j,k,q,maxw,maxv,u,ans:longint;
 procedure dfs(noww,nowv:longint; flag:fa; tot:longint);
  var
   i,j,k,p:longint;
  begin
   if tot>ans then ans:=tot;
   for i:=1 to n do
    if (flag[i])and(noww+a[i].w<=maxw)and(nowv+a[i].v<=maxv) then
     begin
      flag[i]:=false;
      dfs(noww+a[i].w,nowv+a[i].v,flag,tot+a[i].p);
      flag[i]:=true;
     end;
  end;
 begin
  assign(f1,'soultap.in'); reset(f1);
  assign(f2,'soultap.out'); rewrite(f2);
  readln(f1,n,m,maxw,maxv);
  for i:=1 to m do flag[i]:=true;
  for i:=1 to n do
   readln(f1,a[i].w,a[i].v,a[i].t,a[i].p);
  ans:=0;
  dfs(0,0,flag,0);
  writeln(f2,ans);
  close(f1);
  close(f2);
 end.