Pagini recente » Cod sursa (job #551770) | Cod sursa (job #2062925) | Cod sursa (job #1056222) | Cod sursa (job #945198) | Cod sursa (job #2421074)
{Jocul Flip
Gigel a descoperit un nou joc pe care l-a numit "Flip".
Acesta se joaca pe o tabla dreptunghiulara de dimensiuni N*M care contine numere intregi. Fiecare linie si fiecare coloana are un comutator care
schimba starea tuturor elementelor de pe acea linie sau coloana, inmultindu-le cu -1. Scopul jocului este ca pentru o configuratie data a tablei de joc sa se actioneze asupra liniilor si coloanelor a
{astfel incat sa se obtina o tabla cu suma elementelor cat mai mare.
}
var f:textfile;
n, m, i, j, col, r: integer;
maxRand, sumaRand, maxCol, sumaCol, s:longint;
arr: array[1..16, 1..16] of longint;
begin
assign(f, 'flip.in');
reset(f);
read(f, n);
readln(f, m);
for i:=1 to n do
begin
for j:=1 to m do
read(f, arr[i,j]);
readln(f);
end;
close(f);
maxRand:=0;
for j:=1 to m do maxRand:=arr[1,j]*(-1)+maxRand;
r:=1;
for i:=1 to n do
begin
sumaRand:=0;
for j:=1 to m do
sumaRand:=arr[i,j]*(-1)+sumaRand;
if sumaRand>maxRand then begin maxRand:=sumaRand; r:=i; end;
end;
maxCol:=0;
for i:=1 to n do maxCol:=arr[i,1]*(-1)+maxCol;
col:=1;
for i:=1 to n do
begin
sumaCol:=0;
for j:=1 to m do
sumaCol:=arr[j,i]*(-1)+sumaCol;
if sumaCol>maxCol then begin maxCol:=sumaCol; col:=i; end;
end;
{writeln(r);
writeln(col);}
for i:=1 to m do arr[r,i]:=arr[r,i]*(-1);
for i:=1 to n do arr[i, col]:=arr[i,col]*(-1);
{for i:=1 to n do
begin
for j:=1 to m do
write(arr[i,j], ' ');
writeln;
end; }
s:=0;
for i:=1 to n do
for j:=1 to m do
s:=s+arr[i,j];
assign(f, 'flip.out');
rewrite(f);
write(f, s);
close(f);
end.