比赛 |
noip-081029 |
评测结果 |
AAAAAWWWWW |
题目名称 |
取数字问题 |
最终得分 |
50 |
用户昵称 |
Oo湼鞶oO |
运行时间 |
0.000 s |
代码语言 |
Pascal |
内存使用 |
0.00 MiB |
提交时间 |
2008-10-29 21:15:24 |
显示代码纯文本
{*******************************************}
{* Program name: number *}
{* Input file: number.in *}
{* Ouptut file: number.out *}
{* Date: 2008.10.29 *}
{* Programmer: Peng Bo *}
{*******************************************}
program number;
type
sz=array[1..10,1..10]of integer;
var
s:sz;
m,n,i:byte;
g:integer;
have_or_no_answers:boolean;
f:text;
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
procedure main(x,y:byte; l:integer);
begin
if (x<>m)or(y<>n)
then
begin
if y<n
then
main(x,y+1,l+s[x,y]);
if x<m
then
main(x+1,y,l+s[x,y]);
end
else
if (l+s[x,y]>0)and(l+s[x,y]<g)
then
begin
g:=l+s[x,y];
have_or_no_answers:=true;
end;
end;
{~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
begin
assign(f,'number.in');
reset(f);
readln(f,m,n);
for i:=1 to m do
begin
for g:=1 to (n-1) do
read(f,s[i,g]);
readln(f,s[i,n]);
end;
close(f);
{===========}
have_or_no_answers:=false;
g:=maxint;
main(1,1,0);
{===========}
assign(f,'number.out');
rewrite(f);
if have_or_no_answers
then
write(f,g)
else
write(f,-1);
close(f);
end.