Cod sursa(job #2167)

Utilizator alex_dincaDinca Alexandru-Nicolae - UPB alex_dinca Data 16 decembrie 2006 10:06:41
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.21 kb
var i,j,n,m:byte;
    s,max:longint;f:text;
    x,y:array[1..16] of byte;
    a:array[1..16,1..16] of integer;
procedure linia(i:integer);
var j:integer;
begin
for j:=1 to m do
    a[i][j]:=a[i][j]*(-1);
end;
procedure coloana(i:integer);
var j:integer;
begin
for j:=1 to n do
    a[j][i]:=a[j][i]*(-1);
end;
procedure solutie;
var i,j:integer;
begin
for i:=1 to n do
    if x[i]=1 then linia(i);
for i:=1 to m do
    if y[i]=1 then coloana(i);
s:=0;
for i:=1 to n do
    for j:=1 to m do
        s:=s+a[i][j];
if s>max then max:=s;
for i:=1 to n do
    if x[i]=1 then linia(i);
for i:=1 to m do
    if y[i]=1 then coloana(i);
end;
procedure bkt2(k:integer);
var i:integer;
begin
if k=m+1 then solutie
else for i:=0 to 1 do begin
         y[k]:=i;
         bkt2(k+1);
         end;
end;
procedure bkt1(k:integer);
var i:integer;
begin
if k=n+1 then bkt2(1)
else for i:=0 to 1 do begin
         x[k]:=i;
         bkt1(k+1);
         end;
end;

begin
max:=-2000000000;
assign(f,'flip.in');reset(f);
readln(f,n,m);
for i:=1 to n do begin
    for j:=1 to m do read(f,a[i][j]);
    readln(f);
    end;
close(f);
bkt1(1);
assign(f,'flip.out');rewrite(f);
writeln(f,max);
close(f);
end.