Cod sursa(job #164326)

Utilizator yo_s_cantaCanta Andrei yo_s_canta Data 23 martie 2008 22:08:19
Problema Jocul Flip Scor 100
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.07 kb
var f:text;
		sum,max,i,j,n,m:longint;
    s,s2:array[1..17,1..17] of longint;
    sol:array[1..17] of integer;
procedure back(nr:integer);
var k:integer;
begin
	if nr=m+1 then
  	begin
    	s2:=s;
    	{ intorc coloanele }
    	for i:=1 to m do
      	if sol[i]=2 then
        	for j:=1 to n do
            begin
	          	s2[j,i]:=s2[j,i]*-1;
              inc(s2[j,17],2*s2[j,i]);
            end;
      { intorc linile }
      for i :=1 to n do
      	if s2[i,17] < 0 then
        	for j := 1 to m do
          	s2[i,j]:=s2[i,j]*-1;
      { suma }
      sum:=0;
      for i :=1 to n do
      	for j := 1 to m do
          inc(sum,s2[i,j]);
      if sum>max then
      	max:=sum;
    end
  else
    begin
      for k := 1 to 2 do
        begin
      		sol[nr]:=k;
	      	back(nr+1);
	      end;
    end;
end;
begin
	assign(f,'flip.in');reset(f);
  read(f,n,m);
  for i := 1 to n do
  	for j := 1 to m do
begin     	read(f,s[i,j]);
inc(s[i,17],s[i,j]);
end;
  back(1);
  assign(f,'flip.out');rewrite(f);
  writeln(f,max);
  close(f);
end.