| 记录编号 | 6320 | 评测结果 | AAAAAAAAAA | 
    
        | 题目名称 | 191.取数字问题 | 最终得分 | 100 | 
    
        | 用户昵称 |  bly1991 | 是否通过 | 通过 | 
    
        | 代码语言 | 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.