Cod sursa(job #284667)

Utilizator b_ady20Branescu Adrian b_ady20 Data 21 martie 2009 21:17:47
Problema Jocul Flip Scor 20
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
type extins=array[1..1] of longint;
var  s,s1,s2:^extins; a:array[1..16,1..16] of longint;
        i,x,j,n,m:shortint;
begin
new(s1); new(s2); new(s);
s1^[1]:=0;
s2^[1]:=0;       s^[1]:=0;
assign (input,'flip.in');
reset(input);
readln (input,n,m);
for i:=1 to n do
begin
for j:=1 to m do
begin
read (input,a[i,j]);
if a[i,j]<0 then
s1^[1]:=s1^[1]+a[i,j]
else
s2^[1]:=s2^[1]+a[i,j];
end;
if abs(s1^[1])>s2^[1] then
for x:=m downto 1 do
a[i,x]:=a[i,x]*(-1);
s1^[1]:=0; s2^[1]:=0;
end;
close (input);
s1^[1]:=0; s2^[1]:=0;
for i:=1 to m do
begin
for j:=1 to n do
if a[j,i]<0 then
s1^[1]:=s1^[1]+a[j,i]
else
s2^[1]:=s2^[1]+a[j,i];
if abs(s1^[1])>s2^[1] then
for x:=n downto 1 do
a[x,i]:=a[x,i]*(-1);
s1^[1]:=0; s2^[1]:=0;
end;
assign(output,'flip.out');
rewrite (output);
for i:=1 to n do
for j:=1 to m do
s^[1]:=s^[1]+a[i,j];
write(output,s^[1]);
close (output);
dispose(s); dispose (s1); dispose(s2);
end.