Cod sursa(job #14972)

Utilizator AymdTrimbitas Viorel Stefan Aymd Data 10 februarie 2007 13:31:33
Problema Jocul Flip Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.08 kb
var m,n,s,ia,i,j,max:longint;
    a:array[1..33]of 0..1;
    b:array[1..17,1..17]of longint;
    f,g:text;

begin
assign(f,'flip.in');
reset(f);
readln(f,n,m);
for i:=1 to n do begin
   for j:=1 to m do begin
      read(f,b[i,j]);
      s:=s+b[i,j];
   end;
   readln(f);
end;
max:=s;
while a[m+n+1]=0 do begin
   i:=1;
   while a[i]=1 do begin
      a[i]:=0;
      if i<m+1 then for j:=1 to n do begin
                       s:=s-2*b[j,i];
                       b[j,i]:=-b[j,i];
                    end
               else for j:=1 to m do begin
                       s:=s-2*b[i-m,j];
                       b[i-m,j]:=-b[i-m,j];
                    end;
      i:=i+1;
   end;
   a[i]:=1;
   if i<m+1 then for j:=1 to n do begin
                    s:=s-2*b[j,i];
                    b[j,i]:=-b[j,i];
                 end
            else for j:=1 to m do begin
                    s:=s-2*b[i-m,j];
                    b[i-m,j]:=-b[i-m,j];
                 end;
   if s>max then max:=s;
end;
assign(g,'flip.out');
rewrite(g);
writeln(g,max);
close(g);
end.