ac1107.pas

来自「同济大学 Online在线题库 AC源代码合集 程序设计竞赛必看资料」· PAS 代码 · 共 40 行

PAS
40
字号
program tju1107;
const
  maxn=6;
  maxk=10000;
var
  flag:array[0..maxk]of byte;
  a:array[1..maxn,1..maxn]of longint;
  t,n,k,i,count:word;
procedure search(l:byte);
  var
    x,y,i:byte;
  begin
    if l=0 then begin
      if (a[1,1]>=0) and (a[1,1]<=k) and (flag[a[1,1]]<t) then begin
        flag[a[1,1]]:=t;inc(count);
      end;
      exit;
    end;
    for i:=1 to l do a[l,i]:=a[l+1,i];
    for x:=2 to l+1 do begin
      a[l,x]:=a[l+1,l+1];
      for y:=1 to x-1 do begin
        a[l,y]:=a[l+1,x]+a[l+1,y];search(l-1);
        a[l,y]:=a[l+1,x]-a[l+1,y];search(l-1);
        a[l,y]:=-a[l,y];search(l-1);
        a[l,y]:=a[l+1,x]*a[l+1,y];search(l-1);
        a[l,y]:=a[l+1,y];
      end;
      a[l,x]:=a[l+1,x];
    end;
  end;
begin
  repeat
    inc(t);read(n,k);
    for i:=1 to n do read(a[n,i]);
    count:=0;search(n-1);
    writeln(count);
  until seekeof;
end.

⌨️ 快捷键说明

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