Nu aveti permisiuni pentru a descarca fisierul grader_test1.ok

Cod sursa(job #254262)

Utilizator MihaiBunBunget Mihai MihaiBun Data 7 februarie 2009 08:59:06
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.5 kb
program flip;
var f:text;
    i,j,k,n,m,max,s:longint;
    a:array[1..16,1..16] of longint;
    st:array[1..50] of longint;
    as,ev:boolean;
begin
  assign(f,'flip.in');
  reset(f);
  readln(f,n,m);
  for i:=1 to n do
  for j:=1 to m do
  read(f,a[i,j]);
  close(f);
  max:=-2000000000;
  j:=1;
  st[j]:=0;
  while j>0 do
  begin
     repeat
       if st[j]<2 then begin
                          st[j]:=st[j]+1;
                          as:=true
                         end
                     else as:=false;
       if as then begin
                     if st[j]=2 then
                        for k:=1 to m do a[j,k]:=-a[j,k];

                     ev:=true
                  end;
      until(not as) or(as and ev);
      if as then if j=n then begin

                                s:=0;
                                for i:=1 to n do
                                for k:=1 to m do
                                  s:=s+a[i,k];
                                if s>max then max:=s;
                               end
                          else begin
                                j:=j+1;
                                st[j]:=0
                              end
            else begin
                    j:=j-1;
                    if j<=n then for k:=1 to m do a[j,k]:=-a[j,k]
                            else for k:=1 to j-n do a[k,j-n]:=-a[k,j-n];
                 end;
    end;
    assign(f,'flip.out');
    rewrite(f);
    writeln(f,max);
    close(f);
end.