比赛 noip-081029 评测结果 AWWWWTTTTT
题目名称 取数字问题 最终得分 10
用户昵称 bly1991 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-10-29 21:57:26
显示代码纯文本
program bly(input,ouput);
var
  a:array[1..100,1..100] of integer;
  min,n,m,s:integer;
  i,j:integer;
  f1,f2:text;

  procedure dg(x,y,k,ans:integer);
  var
    i0:integer;
  begin
    for i0:=1 to 2 do begin
      if (x=m)and(y=n)and(ans>=0) then begin
        ans:=ans+a[x,y];
        if ans<min then min:=ans;
      end;
      if not((x>m)or(y>n)) then begin
        if i0=2 then dg(x,y+1,1,ans+a[x,y]);
        if i0=1 then dg(x+1,y,1,ans+a[x,y]);
      end;
    end;
  end;

begin
  s:=-1;
  assign(f1,'number.in');
  reset(f1);
  readln(f1,n,m);
  for i:=1 to m do begin
    for j:=1 to n do begin
      read(f1,a[i,j]);
    end;
    readln(f1);
  end;
  close(f1);

  min:=maxint;
  dg(1,1,1,0);
  assign(f2,'number.out');
  rewrite(f2);
  if min=maxint then writeln(f2,min)
                else writeln(f2,'-1');
  close(f2);
end.