取数字问题

成绩 0 开启时间 2013年01月21日 星期一 13:35
折扣 0.8 折扣时间 2013年01月21日 星期一 13:35
允许迟交 关闭时间 2013年01月21日 星期一 13:35
输入文件 number.in 输出文件 number.out

【问题描述】
     给定 M*N 的矩阵,其中的每个元素都是 -10 到 10 之间的整数。你的任务是从左上角( 1 , 1 )走到右下角( M , N ),每一步只能向右或向下,并且不能走出矩阵的范围。你所经过的方格里面的数字都必须被选取,请找出一条最合适的道路,使得在路上被选取的数字之和是尽可能小的正整数。

【输入格式】
    第一行两个整数 M , N ,( 2<=M,N<=20 ),分别表示矩阵的行和列的数目。

接下来的 M 行,每行包括 N 个整数,就是矩阵中的每一行的 N 个元素。

【输出格式】
   仅一行一个整数,表示所选道路上数字之和所能达到的最小的正整数。如果不能达到任何正整数就输出 -1 。
 

【输入输出样例】
 
输入:
number.in
2 2
0 2
1 0
输出:
number.out
1