Cod sursa(job #605114)

Utilizator GRazvanGorgan Razvan-Florin GRazvan Data 26 iulie 2011 19:39:31
Problema Jocul Flip Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.28 kb
program Flip;
label i_reluare;
label j_reluare;
var n,m,i,j,max,li,l,tr,co,c,s,q,w,diffminutes:integer; a,b : array[1..10,1..10] of integer;
begin
 readln(n,m);
 for i := 1 to n do
  for j := 1 to m do
  begin
    write('[',i,',',j,'] -> ');
    readln(a[i,j]);
    b[i,j] := a[i,j];
  end;
writeln;
 for i := 1 to n do
 begin
  for j := 1 to m do
  write(a[i,j],' ');
 writeln;
 end;
writeln;
max := 0;
li := 1;
i_reluare:
 for i := 1 to n do
 begin
   for l := li to i do
    for tr := 1 to m do
     b[l,tr] := b[l,tr] * (-1);
   co := 1;
   j_reluare:
    for j := 1 to m do
    begin
     for c := co to j do
      for tr := 1 to n do
       b[tr,c] := b[tr,c] * (-1);
     s := 0;
     for q := 1 to n do
      for w := 1 to m do
      s := s + a[q,w];
      if s > max then max := s;
     for q := 1 to n do
      for w := 1 to m do
       b[q,w] := a[q,w];
     for l := li to i do
      for tr := 1 to m do
       b[l,tr] := b[l,tr] * (-1);
     if j = m then
      while co < m do
      begin
       co := co + 1;
       GOTO j_reluare;
      end;
    end;
    for q := 1 to n do
     for w := 1 to m do
     b[q,w] := a[q,w];
 end;
if i = n then
 while li < n do
 begin
  li := li + 1;
  GOTO i_reluare;
 end;
write(max);
readln;
end.