比赛 |
noip-081029 |
评测结果 |
AAWWAEEEEE |
题目名称 |
取数字问题 |
最终得分 |
30 |
用户昵称 |
苏轼 |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-10-29 19:41:19 |
显示代码纯文本
program number;
const inp:string='number.in';
out:string='number.out';
var m,n,i,j,min,tmp:integer;
b:boolean;
s:array[1..10,1..10]of integer;
f:text;
procedure go(x,y:integer);
var i,j:integer;
begin
if (x in[1..m])and(y in[1..n]) then
begin
tmp:=tmp+s[x,y];
if (x=m)and(y=n) then
begin
if (tmp<min)and(tmp>0) then
begin
b:=true;
min:=tmp;
end;
end else
begin
go(x+1,y);
go(x,y+1);
end;
tmp:=tmp+s[x,y];
end;
end;
begin
assign(f,inp);
reset(f);
readln(f,m,n);
for i:=1 to m do
for j:=1 to n do
read(f,s[i,j]);
close(f);
min:=maxint;
go(1,1);
assign(f,out);
rewrite(f);
if b then
writeln(f,min) else
writeln(f,-1);
close(f);
end.