Pagini recente » Cod sursa (job #55114) | Cod sursa (job #170537) | Cod sursa (job #2413072) | Cod sursa (job #1366966) | Cod sursa (job #13339)
Cod sursa(job #13339)
var fi,fo:text;
n,m,i,j:longint;
col,int:array[1..20] of longint;
v,aux:array[1..20,1..20] of longint;
max,peak:longword;
l1:longint;
a:array[0..35000,1..16] of integer;
procedure sumcol(x:longint);
var sum,j:longint;
begin
sum:=0;
for i:=1 to n do
sum:=sum+v[i,x];
col[x]:=sum;
end;
procedure invlin(x:longint);
var j:longint;
begin
for j:=1 to m do
col[j]:=col[j]-2*v[x,j];
end;
procedure gosolve;
var i,j,k,l:longint;
begin
for i:=1 to m do
sumcol(i);
int:=col;
for i:=0 to (1 shl n) do
begin
col:=int;
for j:=1 to n do
if ((1 shl (j-1)) and i)<>0 then invlin(j);
peak:=0;
for j:=1 to m do
if col[j]>0 then peak:=peak+col[j]
else peak:=peak+abs(col[j]);
if peak>max then max:=peak;
for j:=1 to n do
if ((1 shl (j-1)) and i)<>0 then invlin(j);
// writeln(fo,peak);
end;
end;
begin
peak:=maxlongint;
assign(fi,'flip.in'); reset(fi);
assign(fo,'flip.out'); rewrite(fo);
readln(fi,n,m);
for i:=1 to n do
begin
for j:=1 to m do
read(fi,v[i,j]);
readln(fi);
end;
case n of
1: l1:=1;
2: l1:=3;
3: l1:=7;
4: l1:=15;
5: l1:=31;
6: l1:=63;
7: l1:=127;
8: l1:=255;
9: l1:=511;
10: l1:=1023;
11: l1:=2047;
12: l1:=4095;
13: l1:=8191;
14: l1:=16383;
15: l1:=32767;
end;
gosolve;
write(fo,max);
close(fi);
close(fo);
end.