比赛 |
noip-081029 |
评测结果 |
AAAAATTTTT |
题目名称 |
取数字问题 |
最终得分 |
50 |
用户昵称 |
zhai |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-10-29 20:01:27 |
显示代码纯文本
program number;
const
max=10;
type
sz=array[1..max,1..max]of integer;
var
f1,f2:text;
a:sz;
n,m:integer;
ans:integer;
procedure ini;
var
i,j:integer;
begin
assign(f1,'number.in');reset(f1);
assign(f2,'number.out');rewrite(f2);
read(f1,m,n);
fillchar(a,sizeof(a),0);
for i:=1 to m do
for j:=1 to n do read(f1,a[i,j]);
close(f1);
ans:=maxint;
end;
procedure try(x,y,k:integer);
var
i:integer;
begin
for i:=1 to 2 do begin
if(x=m)and(y=n)then begin
inc(k,a[x,y]);
if(k>0)and(k<ans)then begin
ans:=k;
exit;
end;
end
else begin
if(i=1)and(x+1<=m)then try(x+1,y,k+a[x,y])
else begin
if y+1<=n then try(x,y+1,k+a[x,y]);
end;
end;
end;
end;
begin
ini;
try(1,1,0);
if ans<>maxint then write(f2,ans)
else write(f2,-1);
close(f2);
end.