Cod sursa(job #550893)

Utilizator tlmgeox_13Tudor Luca tlmgeox_13 Data 10 martie 2011 00:48:00
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.07 kb
uses crt;
var a:array [1..16,1..16] of longint;
    i,j,s,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
clrscr;
assign(f,'flip.in');
assign(g,'flip.out');
rewrite(g);
reset(f);
read(f,n,m);
s:=0;
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;
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(s);
writeln(g,s);
close(g);
end.