Cod sursa(job #245991)

Utilizator cimpeanuCimpeanu Maria cimpeanu Data 19 ianuarie 2009 17:18:37
Problema Jocul Flip Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.14 kb
program flip;
type stiva=array[1..17] of integer;
     matrice=array[1..17,1..17] of longint;
var st:stiva;
    a:matrice;
    s:longint;
    k,i,j,m,n:byte;
    f:text;
begin
assign(f,'flip.in');
reset(f);
read(f,n,m);
fillchar (a, sizeof(a), 0 );
s:=0;
for i:=1 to n do

        for j:=1 to m do
               begin
               read(f,a[i,j]);
               inc(a[i,m+1],a[i,j]);
               inc(a[n+1,j],a[i,j]);
               end;

close(f);
k:=1;
st[k]:=-3;

while k>0 do
BEGIN
if st[k]<3 then
      BEGIN
      inc(st[k],2);
      if st[k] = 1 then
        for i:=1 to n do
                  begin
                  a[i,k]:=-a[i,k];
                  a[i,m+1]:=a[i,m+1]+2*a[i,k];
                  end;
      if k=m then
             BEGIN
             s:=0;
             for i:=1 to n do
                 s:=s+abs(a[i,m+1]);
                 if a[n+1,m+1] < s then a[n+1,m+1]:=s;
             END
           else
           BEGIN
           inc (k);
           st[k]:=-3;
           END;
      END
      else dec(k);

END;
assign(f,'flip.out');
rewrite(f);
write(f,a[n+1,m+1]);
close(f);
END.