记录编号 6369 评测结果 AAAAAAAAAA
题目名称 取数字问题 最终得分 100
用户昵称 GravatarAchilles 是否通过 通过
代码语言 Pascal 运行时间 0.024 s
提交时间 2008-11-01 11:32:49 内存使用 0.44 MiB
显示代码纯文本
program number;
var
  table:array[1..20,1..20]of integer;
  sz:array[0..20,0..20,-390..390]of 0..1;
  i,j,k,m,n,max:integer;
begin
  fillchar(sz,sizeof(sz),0);
  assign(input,'number.in');
  assign(output,'number.out');
  reset(input);
  rewrite(output);
  readln(m,n);
  for i:=1 to m do
  begin
    for j:=1 to n do
      read(table[i,j]);
    readln;
  end;
  sz[1,1,table[1,1]]:=1;
  for i:=1 to m do
    for j:=1 to n do
      for k:=-(m+n-1)*10 to (m+n-1)*10 do
      begin
        if (sz[i-1,j,k-table[i,j]]=1)or(sz[i,j-1,k-table[i,j]]=1) then begin
          sz[i,j,k]:=1;
        end;
      end;
  max:=32767;
  for i:=-(m+n-1)*10 to (m+n-1)*10 do
    if sz[m,n,i]=1 then
      if (i>0)and(i<max) then max:=i;
  if max=32767 then writeln(-1) else writeln(max);
  close(input);
  close(output);
end.