Pagini recente » Cod sursa (job #688657) | Cod sursa (job #705515) | Cod sursa (job #2042222) | Cod sursa (job #132423) | Cod sursa (job #1124962)
program flip;
type matrice=array[1..17,1..17]of integer;
var a:matrice;f,g:text;ss,s,i,x,j,maxim,m,n:integer;
v:array[0..17] of integer;
{function suma(a:matrice; n,m:integer):integer;
var s:integer;
begin
s:=0;
for i:=1 to n do
for j:=1 to m do
s:=s+a[i,j];
suma:=s;
end;}
begin
assign(f,'flip.in');reset(f);
assign(g,'flip.out');rewrite(g);
readln(f,n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read(f,a[i,j]);
maxim:=maxim+a[i,j];
end;
readln(f);
end;
while (v[0]=0) do
begin
j:=m;
while v[j]=1 do
begin
v[j]:=0;
j:=j-1;
end;
v[j]:=1;
s:=0;
for i:=1 to n do
begin
ss:=0;
for x:=1 to m do
begin
if v[x]=1 then
begin
ss:=ss-a[i,x];
end
else
begin
ss:=ss+a[i,x];
end;
end;
if ss<0 then ss:=ss*(-1);
s:=s+ss;
end;
if s>maxim then maxim:=s;
end;
write(g,maxim);
{min2:=maxint;
for i:=1 to n do
begin
s1:=0;
for j:=1 to m do
s1:=s1+a[i,j];
if s1<min2 then
begin
min2:=s1;
p:=i;
end;
end;
min1:=maxint;
for j:=1 to m do
begin
s2:=0;
for i:=1 to n do
s2:=s2+a[i,j];
if s2<min1 then
begin
min1:=s2;
q:=j;
end;
end;
for i:=1 to m do
a[p,i]:=a[p,i]*(-1);
for i:=1 to n do
a[i,q]:=a[i,q]*(-1);
write(g,suma(a,n,m));}
close(f);
close(g);
end.