比赛 noip-081029 评测结果 AWWWWEEEEE
题目名称 取数字问题 最终得分 10
用户昵称 EnAsn 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-10-29 20:57:05
显示代码纯文本
program ex;
type
 ss=array[1..10,1..10]of integer;
var
 a:ss;
 f1,f2:text;
 n,m:integer;
 max,maxt:integer;
procedure init;
 var
  i,j:integer;
 begin
  assign(f1,'number.in');
  assign(f2,'number.out');
  reset(f1);
  rewrite(f2);
  readln(f1,m,n);
  for i:=1 to m do
   begin
    for j:=1 to n do
     read(f1,a[i,j]);
    readln(f1);
   end;
   max:=maxint;
 end;
procedure try(k,i:integer);
 var
  k1,i1:integer;
 begin
  if (k=n)and(i=n) then
   if (maxt<max)and(maxt>=0) then
     max:=maxt;
  if i+1<=m then
   begin
    maxt:=maxt+a[k,i+1];
    i1:=i+1;
    k1:=k;
    try(k1,i1);
    maxt:=maxt-a[k,i+1];
   end;
  if k+1<=n then
   begin
    maxt:=maxt+a[k+1,i];
    i1:=i;
    k1:=k+1;
    try(k1,i1);
    maxt:=maxt-a[k+1,i];
   end;
 end;
begin
 init;
 try(1,1);
 if (max=maxint)or(max=0) then writeln(f2,'-1')
                          else writeln(f2,max);
 close(f2);
end.