Pagini recente » Cod sursa (job #3120634) | Cod sursa (job #1366541) | Cod sursa (job #3230356) | Cod sursa (job #46528) | Cod sursa (job #254262)
Cod sursa(job #254262)
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.