Cod sursa(job #320375)

Utilizator aldulea_cristialdulea cristi aldulea_cristi Data 4 iunie 2009 16:29:22
Problema Jocul Flip Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.36 kb
type mare=-16000000..16000000;
var q:array[1..16,1..16] of -1000000..1000000;
    i,j,m,n:integer;
    f,g:text;
    s1,s2:mare;
    su:-256000000..256000000;
function suma(k:integer):mare;
var s:mare;
begin
   s:=0;
   for j:=1 to n do
       s:=s+q[k,j];
end;
function suma2(k:integer):mare;
var s:mare;
begin
   s:=0;
   for j:=1 to m do
       s:=s+q[j,k];
end;
{function suma3(k:integer):mare;
var s:mare;
begin
  s:=0;
  for i:=1 to n do
      s:=s+(-q[k,i]);
end;
function suma4(k:integer):mare;
var s:mare;
begin
   s:=0;
   for i:=1 to m do
       s:=s+(-q[i,k]);
end;}
begin
  assign(f,'flip.in'); reset(f);
  assign(g,'flip.out'); rewrite(g);
  readln(f,m,n);
  su:=0;
  for i:=1 to m do
      begin
      for j:=1 to n do
          read(f,q[i,j]);
      readln(f);
      end;
  close(f);
  i:=1;
  while (i<=n) and (i<=m) do
        begin
        s1:=suma(i);
        s2:=suma2(i);
        if s1>0 then su:=su+s1
        else su:=su+(-1*(s1));
        if s2>0 then su:=su+s2
        else su:=su+(-1*(s2));
        inc(i);
        end;
  if n<i then begin
              s2:=suma2(i);
              if s2>0 then su:=su+s2
              else su:=su+(-1*(s2));
              end
  else begin
       s1:=suma(i);
       if s1>0 then su:=su+s1
       else su:=su+(-1*(s1));
       end;
  writeln(g,su);
  close(g);
end.