Pagini recente » Cod sursa (job #1200137) | Cod sursa (job #557393)
Cod sursa(job #557393)
program flip03;
type matrice=array[1..16,1..16]of longint;
var a:matrice;
f:text;
m,n,i,j:byte;
sf:longint;
function suma:longint;
var j,i:byte;
s:longint;
begin
s:=0;
for i:=1 to n do
for j:=1 to m do
s:=s+a[i,j];
suma:=s;
end;
function sumac(nrc:byte):longint;
var i:byte;
s:longint;
begin
s:=0;
for i:=1 to n do
s:=s+a[i,nrc];
sumac:=s;
end;
procedure flipc(j:byte);
var i:byte;
begin
for i:=1 to n do
a[i,j]:=-1*a[i,j];
end;
procedure flipl(i:byte);
var j:byte;
begin
for j:=1 to n do
a[i,j]:=-1*a[i,j];
end;
procedure rez(i:byte);
var j,p,k:byte;
s,sc:longint;
begin
if i=n+1 then
begin
s:=0;
for p:=1 to m do
begin
sc:=sumac(p);
if sc<0 then
begin
flipc(p);
sc:=-sc;
end;
s:=s+sc;
end;
if s>sf then
sf:=s;
end
else
for k:=1 to 2 do
if k=1 then
begin
flipl(i);
rez(i+1);
flipl(i);
end
else
rez(i+1);
end;
begin{main}
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);
sf:=0;
rez(1);
assign(f,'flip.out');
rewrite(f);
writeln(f,sf);
close(f);
end.