Pagini recente » Cod sursa (job #1914319) | Cod sursa (job #1317515) | Cod sursa (job #1213298) | Cod sursa (job #2177213) | Cod sursa (job #2495786)
Program AB;
var f,g:text;
st:array[1..25] of integer;
a:array[1..100,1..100] of integer;
k,n,p,num,m,i,j,sumM,sum:integer;
procedure init;
begin
num:=n+m;
for k:=1 to 25 do st[k]:=0;
end;
function valid(p:integer):boolean;
begin
valid:=true;
end;
procedure tipar(p:integer);
var o:integer;
begin
{
for k:=1 to p do write(g,st[k],' ');
writeln(g); }
o:=0;
for i:=1 to n do
begin
o:=o+1;
if st[o]=2 then
for j:=1 to m do a[i,j]:=a[i,j]*(-1)
else continue;
end;
for j:=1 to m do
begin
o:=o+1;
if st[o]=2 then
for i:=1 to n do a[i,j]:=a[i,j]*(-1)
else continue;
end;
for i:=1 to n do
for j:=1 to m do sum:=sum+a[i,j];
if sum>sumM then sumM:=sum;
sum:=0;
end;
procedure back(p:integer);
begin
p:=1;
st[p]:=0;
while p>0 do
begin
if st[p]<2 then
begin
st[p]:=st[p]+1;
if valid(p) then
if p=num then tipar(p)
else
begin
p:=p+1;
st[p]:=0;
end;
end
else p:=p-1;
end;
end;
begin
assign(f,'flip.in');reset(f);
assign(g,'flip.out');rewrite(g);
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;
sum:=0;
init;
back(1);
writeln(g,sumM);
close(f);
close(g);
end.