Cod sursa(job #1040731)

Utilizator ValeraShulghin Valera Valera Data 24 noiembrie 2013 20:55:22
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 0.78 kb
var a:array[1..100,1..100] of integer;
    q:array[1..100] of integer;
    i,j,n,m,l,c,s,max,t,k:integer;
    f,g:text;
begin
assign(f,'flip.in');reset(f);
assign(g,'flip.out');rewrite(g);
readln(f,n,m);
max:=0;
for i:=1 to n do
  begin
    for j:=1 to m do
      begin
        read(f,a[i,j]);
        max:=max+a[i,j];
      end;
    readln(f);
  end;
t:=m+n;s:=0;

for i:=1 to (1 shl t)-1 do
  begin
    for j:=0 to t do
      if (1 shl j) and i >0 then q[j+1]:=1;
    for l:=1 to n do
      for c:=1 to m do
        if (q[l]=1) and (q[c+n]=1) then s:=s+a[l,c]
          else if (q[l]=1) or (q[c+n]=1) then s:=s-a[l,c]
          else s:=s+a[l,c];
    if s>max then max:=s;
    for k:=1 to t do
    q[k]:=0;
    s:=0
  end;
writeln(g,max);
close(f);close(g);
end.