比赛 noip-081029 评测结果 AAAAAWWWWW
题目名称 取数字问题 最终得分 50
用户昵称 Oo湼鞶oO 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-10-29 21:15:24
显示代码纯文本
  1. {*******************************************}
  2. {* Program name: number *}
  3. {* Input file: number.in *}
  4. {* Ouptut file: number.out *}
  5. {* Date: 2008.10.29 *}
  6. {* Programmer: Peng Bo *}
  7. {*******************************************}
  8. program number;
  9. type
  10. sz=array[1..10,1..10]of integer;
  11. var
  12. s:sz;
  13. m,n,i:byte;
  14. g:integer;
  15. have_or_no_answers:boolean;
  16. f:text;
  17. {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
  18. procedure main(x,y:byte; l:integer);
  19. begin
  20. if (x<>m)or(y<>n)
  21. then
  22. begin
  23. if y<n
  24. then
  25. main(x,y+1,l+s[x,y]);
  26. if x<m
  27. then
  28. main(x+1,y,l+s[x,y]);
  29. end
  30. else
  31. if (l+s[x,y]>0)and(l+s[x,y]<g)
  32. then
  33. begin
  34. g:=l+s[x,y];
  35. have_or_no_answers:=true;
  36. end;
  37. end;
  38. {~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
  39. begin
  40. assign(f,'number.in');
  41. reset(f);
  42. readln(f,m,n);
  43. for i:=1 to m do
  44. begin
  45. for g:=1 to (n-1) do
  46. read(f,s[i,g]);
  47. readln(f,s[i,n]);
  48. end;
  49. close(f);
  50. {===========}
  51. have_or_no_answers:=false;
  52. g:=maxint;
  53. main(1,1,0);
  54. {===========}
  55. assign(f,'number.out');
  56. rewrite(f);
  57. if have_or_no_answers
  58. then
  59. write(f,g)
  60. else
  61. write(f,-1);
  62. close(f);
  63. end.