Cod sursa(job #627134)

Utilizator Cipi1994Vilcan Ciprian Cipi1994 Data 29 octombrie 2011 08:53:34
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.06 kb
Program flip;
type matrice=array[1..20,1..20] of integer;
Var f:text;
q,w: int64;
i,j,n,m:integer;
a:matrice;

Function suma(i:integer; a:matrice):integer;
Var o,s:integer;
Begin
s:=0;
for o:=1 to m do s:=s+a[i,o];
suma:=s;
end;

Procedure invers(i:integer; Var a:matrice);
Var o:integer;
Begin
for o:=1 to m do a[i,o]:=a[i,o]*(-1);
end;


Begin
assign(f,'flip.in');
reset(f);
read(f,n); readln(f,m);
for i:=1 to n do
        begin
        for j:=1 to m do read(f,a[i,j]);
        readln(f);
        end;
close(f);

for i:=1 to n do
        begin
        q:=suma(i,a);
        invers(i,a);
        w:=suma(i,a);
        if q>w then invers(i,a);
        end;

for i:=1 to m do
        begin
        q:=0; w:=0;
        for j:=1 to n do q:=q+a[j,i];
        for j:=1 to n do a[j,i]:=a[j,i]*(-1);
        for j:=1 to n do w:=w+a[j,i];
        if q>w then for j:=1 to n do a[j,i]:=a[j,i]*(-1);
        end;
assign(f,'flip.out');
rewrite(f);
q:=0;
for i:=1 to n do
        for j:=1 to m do q:=q+a[i,j];
writeln(f,q);
close(f);
end.