Cod sursa(job #605162)

Utilizator GRazvanGorgan Razvan-Florin GRazvan Data 27 iulie 2011 00:01:51
Problema Jocul Flip Scor 0
Compilator fpc Status done
Runda Arhiva de probleme Marime 1.32 kb
program Flip;
label i_reluare;
label j_reluare;
var n,m,i,j,max,li,l,tr,co,c,s,q,w:integer;t:text; a,b : array[1..10,1..10] of integer;
begin
 assign(t,'C:\Users\phoenix\Desktop\NewFolder\Matrice1.txt');
 reset(t);
 readln(t,n,m);
 for i := 1 to n do
 begin
  for j := 1 to m do
  begin
  read(t,a[i,j]);
  b[i,j] := a[i,j];
  end;
 readln(t);
 end;
 close(t);
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 + b[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;
assign(t,'C:\Users\phoenix\Desktop\NewFolder\Matrice2.txt');
rewrite(t);
write(t,max);
close(t);
end.