记录编号 6320 评测结果 AAAAAAAAAA
题目名称 取数字问题 最终得分 100
用户昵称 Gravatarbly1991 是否通过 通过
代码语言 Pascal 运行时间 0.025 s
提交时间 2008-10-31 21:19:06 内存使用 0.45 MiB
显示代码纯文本
program bly(input,output);
var
  data:array[1..20,1..20] of integer;
  f:array[0..20,0..20,-400..400] of boolean;
  n,m,min:integer;
  i,j,k:integer;
  f1,f2:text;
begin
  assign(f1,'number.in');
  reset(f1);
  readln(f1,n,m);
  for i:=1 to n do begin
    for j:=1 to m do begin
      read(f1,data[i,j]);
    end;
    readln(f1);
  end;
  close(f1);

  fillchar(f,sizeof(f),false);
  f[1,1,data[1,1]]:=true;
  for i:=1 to n do begin
    for j:=1 to m do begin
      for k:=-400 to 400 do begin
        if f[i-1,j,k]=true then f[i,j,k+data[i,j]]:=true;
        if f[i,j-1,k]=true then f[i,j,k+data[i,j]]:=true;
      end;
    end;
  end;

  min:=maxint;
  for i:=-400 to 400 do begin
    if (f[n,m,i]=true)and(i<min)and(i>0) then min:=i;
  end;
  assign(f2,'number.out');
  rewrite(f2);
  if min=maxint then writeln(f2,'-1')
                else writeln(f2,min);
  close(f2);
end.