Pagini recente » Cod sursa (job #305465) | Cod sursa (job #1155031) | Cod sursa (job #1821326) | Cod sursa (job #191725) | Cod sursa (job #129217)
Cod sursa(job #129217)
program flip;
type vect = array [1..32] of shortint;
matt = array [1..16,1..16] of longint;
var B : vect;
A : matt;
n,m,i,j:integer;
S : longint;
f : text;
procedure flip(X: matt);
var k,l : integer;
r : longint;
begin
r := 0;
k := 0;
l := 0;
repeat
k := k+1;
l := l+1;
for i := 1 to n do
X[k,i] := X[k,i]*B[l];
until k=m;
for i := 1 to n do
for j := 1 to m do
r := r+X[i,j];
if r>S then S := r;
end;
procedure back(p:integer);
var pval : integer;
begin
for pval := 0 to 1 do begin
if pval = 0 then B[p] := 1
else B[p] := -1;
if p=m then flip(A)
else back(p+1);
end;
end;
begin
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);
back(1);
assign(f,'flip.out');
rewrite(f);
write(f,S);
close(f);
end.