Cod sursa(job #550385)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 9 martie 2011 14:17:08
Problema Jocul Flip Scor 30
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.05 kb
var v:array [1..20, 1..20] of longint;
    i, j, m, n:integer;
    s1, s2:int64;
    ok:boolean;
    f, g:text;

begin
assign (f, 'flip.in'); reset (f);
assign (g, 'flip.out'); rewrite (g);
readln (f, n, m);
for i := 1 to n do
  for j := 1 to m do
    read (f, v[i, j]);

ok:= true;
while ok do
  begin
  ok:= false;
  for i := 1 to n do
    begin
    for j := 1 to m do
      begin
      if v[i, j]>0 then s1:=s1+v[i, j]
                   else s2:=s2-v[i, j];
      end;
    if s1<s2 then
      begin
      for j := 1 to m do v[i, j] := v[i, j] * (-1);
      ok := true;
      end;
    s1:=0; s2:=0;
    end;
  for j := 1 to m do
    begin
    for i := 1 to n do
      begin
      if v[i, j]>0 then s1:=s1+v[i, j]
                   else s2:=s2-v[i, j];
      end;
    if s1<s2 then
      begin
      for i := 1 to n do v[i, j] := v[i, j] * (-1);
      ok := true;
      end;
    s1:=0; s2:=0;
    end;
  end;

s1:= 0;
for i := 1 to n do for j := 1 to m do s1:=s1+v[i, j];

writeln (g, s1);

close (f); close (g);
end.