比赛 10101115 评测结果 AAATTTTTTT
题目名称 技能树 最终得分 30
用户昵称 1102 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2010-11-15 10:46:28
显示代码纯文本
program xxxx;
var f:array[1..50,1..50] of boolean;
    a:array[1..50,1..50] of longint;
    i,j,n,m,w,x:longint;

procedure work(k:longint);
var p,q:longint;
begin
  if k>m then
    begin
      if w>x then
        x:=w;
    end
  else
    begin
      for p:=1 to n do
        for q:=1 to n-p+1 do
          if (f[p,q]) then
            if (p=1)or((p<>1)and(f[p-1,q]<>true)and(f[p-1,q+1]<>true))then
              begin
                w:=w+a[p,q];
                f[p,q]:=false;
                work(k+1);
                w:=w-a[p,q];
                f[p,q]:=true;
              end;
    end;
end;
begin
  assign(input,'skill.in');
  reset(input);
  assign(output,'skill.out');
  rewrite(output);
  read(n,m);
  for i:=1 to n do
    for j:=1 to n-i+1 do
      begin
        read(a[i,j]);
        f[i,j]:=true;
      end;
  w:=0;
  x:=0;
  work(1);
  write(x);
  close(input);
  close(output);
end.