比赛 noip-081029 评测结果 AAWWAEEEEE
题目名称 取数字问题 最终得分 30
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-10-29 19:41:19
显示代码纯文本
  1. program number;
  2.  
  3. const inp:string='number.in';
  4. out:string='number.out';
  5.  
  6. var m,n,i,j,min,tmp:integer;
  7. b:boolean;
  8. s:array[1..10,1..10]of integer;
  9. f:text;
  10.  
  11. procedure go(x,y:integer);
  12. var i,j:integer;
  13. begin
  14. if (x in[1..m])and(y in[1..n]) then
  15. begin
  16. tmp:=tmp+s[x,y];
  17.  
  18. if (x=m)and(y=n) then
  19. begin
  20. if (tmp<min)and(tmp>0) then
  21. begin
  22. b:=true;
  23. min:=tmp;
  24. end;
  25. end else
  26. begin
  27. go(x+1,y);
  28. go(x,y+1);
  29. end;
  30.  
  31. tmp:=tmp+s[x,y];
  32. end;
  33. end;
  34.  
  35. begin
  36. assign(f,inp);
  37. reset(f);
  38.  
  39. readln(f,m,n);
  40.  
  41. for i:=1 to m do
  42. for j:=1 to n do
  43. read(f,s[i,j]);
  44.  
  45. close(f);
  46.  
  47. min:=maxint;
  48. go(1,1);
  49.  
  50. assign(f,out);
  51. rewrite(f);
  52.  
  53. if b then
  54. writeln(f,min) else
  55. writeln(f,-1);
  56.  
  57. close(f);
  58. end.