Cod sursa(job #60716)

Utilizator al3csutzuSirbu Alexandru al3csutzu Data 16 mai 2007 09:22:52
Problema Jocul Flip Scor 40
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.93 kb
program flipuri;
var a,b:array[1..17] of integer;
v:array[1..16,1..16] of longint;
n,m,i,j:integer;
sum,summax:longint;
f,g:text;
begin
  assign(f,'flip.in'); assign(g,'flip.out');
  reset(f); rewrite(g);
  read(f,n,m);
  for i:=1 to n do
    for j:=1 to m do
      read(f,v[i,j]);
  summax:=-2000000000;
  a[1]:=-1;
  repeat
    a[1]:=a[1]+1;
    i:=1;
    b[1]:=-1;
    while a[i]=2 do
    begin
      a[i]:=0;
      i:=i+1;
      a[i]:=a[i]+1;
    end;
    if a[n+1]<>1 then
    repeat
      b[1]:=b[1]+1;
      i:=1;
      sum:=0;
      while b[i]=2 do
      begin
        b[i]:=0;
        i:=i+1;
        b[i]:=b[i]+1;
      end;
      for i:=1 to n do
        for j:=1 to m do
          if a[i]=b[j] then sum:=sum+v[i,j] else sum:=sum-v[i,j];
      if sum>summax then summax:=sum;
    until b[m+1]=1;

  for i:=1 to m+1 do b[i]:=0;
  until a[n+1]=1;
  writeln(g,summax);
  close(f); close(g);
end.