Cod sursa(job #550895)

Utilizator tlmgeox_13Tudor Luca tlmgeox_13 Data 10 martie 2011 00:53:51
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.1 kb
var a:array [1..16,1..16] of longint;
    i,j,s11,s22,n,m,s1,s2:longint;
    f,g:text;

procedure flip1(i:longint);
var j:longint;
begin
 for j:=1 to m do
  a[i,j]:=-1*a[i,j];
end;

procedure flip2(j:longint);
var i:longint;
begin
 for i:=1 to n do
  a[i,j]:=-1*a[i,j];
end;

procedure suma(var s:longint);
var i,j:longint;
begin
 s:=0;
 for i:=1 to n do
  for j:=1 to m do
   s:=s+a[i,j];
end;

begin
assign(f,'flip.in');
assign(g,'flip.out');
rewrite(g);
reset(f);
read(f,n,m);
for i:=1 to n do
 for j:=1 to m do
  begin
   read(f,a[i,j]);
  end;
close(f);
i:=0;
repeat
 inc(i);
 j:=0;
 s1:=0;
 s2:=0;
 repeat
  inc(j);
  if a[i,j]>=0 then s1:=s1+a[i,j]
               else s2:=s2+a[i,j];
 until j=m;
 if s1>=abs(s2) then
           else flip1(i);
until i=n;
j:=0;
suma(s11);
repeat
 inc(j);
 i:=0;
 s1:=0;
 s2:=0;
 repeat
  inc(i);
  if a[i,j]>=0 then s1:=s1+a[i,j]
               else s2:=s2+a[i,j];
 until i=n;
 if s1>=abs(s2) then
           else flip2(j);
until j=m;
suma(s22);
if s11>s22 then write(g,s11)
           else write(g,s22);
close(g);
end.