Pagini recente » Cod sursa (job #1915757) | Cod sursa (job #1004441) | Cod sursa (job #2180274) | Cod sursa (job #2152805) | Cod sursa (job #51714)
Cod sursa(job #51714)
program flip;
type sor = record
no,po:longint;
end;
var f:text;
t:array[1..16,1..16] of longint;
v:array[1..16] of sor;
m,n,i,j:byte;
max:longint;
procedure atrendez(j:byte);
var i:byte;
begin
for i:=1 to n do
begin
v[i].po:=v[i].po-t[i,j];
v[i].no:=v[i].no-t[i,j];
end;
end;
procedure visszarendez(j:byte);
var i:byte;
begin
for i:=1 to n do
begin
v[i].po:=v[i].po+t[i,j];
v[i].no:=v[i].no+t[i,j];
end;
end;
function maximum:longint;
var i:byte;
m:longint;
begin
m:=0;
for i:=1 to n do
m:=m+abs(v[i].po+v[i].no);
maximum:=m;
end;
procedure maxkeres(d:byte);
var mx:longint;
begin
if (d<=m) then
begin
maxkeres(d+1);
atrendez(d);
maxkeres(d+1);
visszarendez(d);
end else
begin
mx:=maximum;
if(mx > max) then max:=mx;
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,t[i,j]);
readln(f);
end;
close(f);
for i:=1 to n do
for j:=1 to m do
begin
if (t[i,j] >= 0) then v[i].po:=v[i].po+t[i,j]
else v[i].no:=v[i].no+t[i,j];
max:=max+t[i,j];
end;
maxkeres(1);
assign(f,'flip.out');
rewrite(f);
writeln(f,max);
close(f);
end.