Cod sursa(job #1815870)

Utilizator balazstasiTasi Balazs balazstasi Data 25 noiembrie 2016 21:00:27
Problema Jocul Flip Scor 10
Compilator fpc Status done
Runda Arhiva de probleme Marime 1 kb
VAR
	n,m,MAX,i,j : Integer;
	v		: Array[1..20] of Longint;
	a		: Array[1..20,1..20] of Longint;
	f, g    : Text;

Procedure bkt;
Var
	total_sum,sum_oszlop : Integer;
BEGIN
			total_sum := 0;
			sum_oszlop := 0;
			for i:=1 to n do
				begin
					sum_oszlop := 0;
					for j:=1 to m do
						begin
							if v[j] = 1 then
								sum_oszlop := sum_oszlop - a[i,j]
										else
								sum_oszlop := sum_oszlop + a[i,j];
						end;
					if -sum_oszlop > sum_oszlop then
						sum_oszlop := -1*sum_oszlop;
					total_sum := total_sum + sum_oszlop;
				end;
		if total_sum > MAX then
			MAX := total_sum;
END;

Procedure back (k : Integer);
BEGIN
	for i:=0 to 1 do
		v[k] := i;
		if k >= m then
			bkt
		else
			back(k+1)
END;

BEGIN

	Assign(f,'flip.in');
	Assign(g,'flip.out');
	Reset(f); Rewrite(g);
	
	i := 0; j := 0; MAX := -MaxInt; 
	
	Read(f,n,m);
	for i:=1 to n do
		for j:=1 to n do
			Read(f,a[i,j]);
			
	back(1);
	Write(g,MAX);
	
	Close(f); Close(g);

END.