Cod sursa(job #260628)

Utilizator THE_GAMEAndrei Alexandru THE_GAME Data 17 februarie 2009 12:20:04
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.21 kb
var a:array[1..100,1..100] of longint;
    s,n,m,i,j,sn,sp:longint;
    f,g:text;
begin
assign(f,'flip.in');
assign(g,'flip.out');
reset(f);
readln(f,n,m);
s:=0;
sn:=0;
sp:=0;
for i:=1 to n do for j:=1 to m do read(f,a[i,j]);
for i:=1 to n do begin
    for j:=1 to m do if a[i,j]>0 then sp:=sp+a[i,j]
                                 else sn:=sn+a[i,j];
    if sp<(-1)*sn then for j:=1 to m do a[i,j]:=a[i,j]*(-1);
    sp:=0;
    sn:=0;
end;
for j:=1 to m do begin
    for i:=1 to n do if a[i,j]>0 then sp:=sp+a[i,j]
                                 else sn:=sn+a[i,j];
    if sp<(-1)*sn then for i:=1 to n do a[i,j]:=a[i,j]*(-1);
    sp:=0;
    sn:=0;
end;
for i:=1 to n do begin
    for j:=1 to m do if a[i,j]>0 then sp:=sp+a[i,j]
                                 else sn:=sn+a[i,j];
    if sp<(-1)*sn then for j:=1 to m do a[i,j]:=a[i,j]*(-1);
    sp:=0;
    sn:=0;
end;
for j:=1 to m do begin
    for i:=1 to n do if a[i,j]>0 then sp:=sp+a[i,j]
                                 else sn:=sn+a[i,j];
    if sp<(-1)*sn then for i:=1 to n do a[i,j]:=a[i,j]*(-1);
    sp:=0;
    sn:=0;
end;
rewrite(g);
for i:=1 to n do for j:=1 to m do s:=s+a[i,j];
write(g,s);
close(f);
close(g);
end.