Pagini recente » Cod sursa (job #296921) | Cod sursa (job #2701840) | Cod sursa (job #1791383) | Cod sursa (job #433716) | Cod sursa (job #199158)
Cod sursa(job #199158)
var f,g:text;
n,m:byte;
flip:array [1..16,1..16] of longint;
max,osszeg:longint;
u:record
i,j:byte
end;
function osszegel:longint;
var i,j:byte;
ossz:longint;
begin
ossz:=0;
for i:=1 to n do
for j:=1 to m do
ossz:=ossz+flip[i,j];
osszegel:=ossz
end;
procedure olvas;
var i,j:byte;
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,flip[i,j]);
readln(f)
end;
close(f)
end;
procedure flippel(a,b:byte);
var i:byte;
begin
for i:=1 to m do
flip[a,i]:=flip[a,i]*(-1);
for i:=1 to n do
flip[i,b]:=flip[i,b]*(-1);
flip[a,b]:=flip[a,b]*(-1)
end;
procedure maxxamol;
var i,j:byte;
osszeg,fliposszeg,totosszeg:longint;
begin
max:=-1;
osszeg:=osszegel;
for i:=1 to n do begin
for j:=1 to m do begin
flippel(i,j);
fliposszeg:=osszegel;
flippel(i,j);
totosszeg:=fliposszeg-osszeg;
if totosszeg>max then begin
max:=totosszeg;
u.i:=i;
u.j:=j
end
end
end
end;
procedure megold;
begin
maxxamol;
while max>0 do begin
flippel(u.i,u.j);
maxxamol
end;
osszeg:=osszegel
end;
procedure kiir;
begin
assign(g,'flip.out');
rewrite(g);
writeln(g,osszeg);
close(g)
end;
begin
olvas;
megold;
kiir
end.