milk3.pas

来自「Magio牛的usaco源代码」· PAS 代码 · 共 52 行

PAS
52
字号
{
ID:maigoak1
PROG:milk3
}

program milk3;
const
  content=20;
var
  fin,fout:text;
  s:array[0..content{milk in A},0..content{milk in C}]of boolean;
  a,b,c,i:integer;
  flag:boolean;
function min(x,y:integer):integer;
  begin
    if x<y then min:=x else min:=y;
  end;
procedure search(ma,mc:integer);
  var
    mb:integer;
  begin
    if s[ma,mc] then exit;
    s[ma,mc]:=true;
    mb:=c-ma-mc;
    search(ma-min(ma,b-mb),mc);{Pour from A to B}
    search(ma-min(ma,c-mc),mc+min(ma,c-mc));{Pour from A to C}
    search(ma+min(mb,a-ma),mc);{Pour from B to A}
    search(ma,mc+min(mb,c-mc));{Pour from B to C}
    search(ma+min(mc,a-ma),mc-min(mc,a-ma));{Pour from C to A}
    search(ma,mc-min(mc,b-mb));{Pour from C to B}
  end;
begin
  assign(fin,'milk3.in');
  reset(fin);
  readln(fin,a,b,c);
  close(fin);

  search(0,c);

  assign(fout,'milk3.out');
  rewrite(fout);
  flag:=false;
  for i:=0 to c do
    if s[0,i] then begin
      if flag then write(fout,' ');
      flag:=true;
      write(fout,i);
    end;
  writeln(fout);
  close(fout);
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?