Pagini recente » Cod sursa (job #2737900) | Cod sursa (job #594761) | Cod sursa (job #2602558) | Cod sursa (job #846325) | Cod sursa (job #886615)
Cod sursa(job #886615)
var a:array[1..10000,1..20] of longint;
b:array[1..10000,1..20] of longint;
c:array[1..10000,1..20] of longint;
fi, fo:text;
i, j, m, n:integer;
s, k, k1, s1:int64;
begin
assign(fi, 'flip.in');
reset(fi);
assign(fo, 'flip.out');
rewrite(fo);
read(fi, n,m);
for j:=1 to n do
for i:=1 to m do
read(fi, a[i,j]);
for j:=1 to n do begin
s:=0; s1:=0; i:=1;
while i<=m do begin
s:=a[i,j]+s;
s1:=-1*s;
inc(i);
end;
if s>=s1 then for i:=1 to m do
b[i,j]:=a[i,j]
else for i:=1 to m do
b[i,j]:=-1*a[i,j];
end;
for i:=1 to m do begin
s:=0; s1:=0; j:=1;
while j<=n do begin
s:=b[i,j]+s;
s1:=-1*s;
inc(j);
end;
if s>=s1 then for j:=1 to n do
b[i,j]:=b[i,j]
else for j:=1 to n do
b[i,j]:=-1*b[i,j];
end;
k:=0;
For j:=1 to n do
for i:=1 to m do
k:=b[i,j]+k;
for i:=1 to m do begin
s:=0; s1:=0; j:=1;
while j<=n do begin
s:=a[i,j]+s;
s1:=-1*s;
inc(j);
end;
if s>=s1 then for j:=1 to n do
c[i,j]:=a[i,j]
else for j:=1 to n do
c[i,j]:=-1*a[i,j];
end;
for j:=1 to n do begin
s:=0; s1:=0; i:=1;
while i<=m do begin
s:=c[i,j]+s;
s1:=-1*s;
inc(i);
end;
if s>=s1 then for i:=1 to m do
c[i,j]:=c[i,j]
else for i:=1 to m do
c[i,j]:=-1*c[i,j];
end;
k1:=0;
For j:=1 to n do
for i:=1 to m do
k1:=c[i,j]+k1;
If k1>k then writeln(fo, k1)
else writeln(fo, k);
close(fi);
close(fo);
end.