Cod sursa(job #132509)

Utilizator bishoppAlex Cristian bishopp Data 5 februarie 2008 23:14:55
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
type matrice=array[1..16,1..16] of longint;
var f,g:text;
    i,j,n,m:byte;
    a:matrice;
    s0,s1:longint;
    ok:boolean;


procedure trans(c:char;x:byte);
begin
if c='l' then for i:=1 to m do a[x,i]:=-a[x,i]
         else for i:=1 to n do a[i,x]:=-a[i,x];
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 read(f,a[i,j]);
    readln(f);
    end;
repeat
ok:=true;
for i:=1 to n do begin
    s0:=0;
    s1:=0;
    for j:=1 to m do s0:=s0+a[i,j];
    for j:=1 to m do s1:=s1-a[i,j];
    if s1>s0 then begin
                  trans('l',i);
                  ok:=false;
                  end;
    end;
for j:=1 to m do begin
    s0:=0;
    s1:=0;
    for i:=1 to n do s0:=s0+a[i,j];
    for i:=1 to n do s1:=s1-a[i,j];
    if s1>s0 then begin
                  trans('c',j);
                  ok:=false;
                  end;
    end;
until ok;
s0:=0;
for i:=1 to n do
    for j:=1 to m do s0:=s0+a[i,j];
write(g,s0);
close(f);
close(g);
end.