Advertisement
MadCortez

Untitled

Nov 2nd, 2020
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.56 KB | None | 0 0
  1. //program Ilya;
  2.  
  3. uses
  4.   System.SysUtils;
  5.  
  6. Type
  7.    TArray = array[1..10, 1..10] of Longint;
  8.    TTArray = array[1..100] of longint;
  9. var
  10.    i, j, n, m, max, x1, x2, y1, y2, nnn: longint;
  11.    a, b, c: TArray;
  12.    xx,yy: TTArray;
  13. procedure rec(i, j: Longint; b: TArray; sum: Longint; x,y: TTArray; nn:longint);
  14. begin
  15.    if (i < 1) or (i > n) or (j < 1) or (j > m) then exit;
  16.    if c[i, j] = 1 then exit;
  17.    if b[i, j] = 2 then
  18.    begin
  19.       c[i, j] := 1;
  20.       exit;
  21.    end;
  22.    inc(b[i, j]);
  23.    sum := sum + a[i, j];
  24.    inc(nn);
  25.    x[nn] := i;
  26.    y[nn] := j;
  27.    if (i = x2) and (j = y2) and (b[i, j] = 2) then
  28.       if sum > max then
  29.       begin
  30.          max := sum;
  31.          xx := x;
  32.          yy := y;
  33.          nnn := nn;
  34.          exit;
  35.       end;
  36.    rec(i + 1, j, b, sum, x, y, nn);
  37.    rec(i - 1, j, b, sum, x, y, nn);
  38.    rec(i, j + 1, b, sum, x, y, nn);
  39.    rec(i, j - 1, b, sum, x, y, nn);
  40. end;
  41.  
  42. var
  43.     Count: Integer;
  44. begin
  45.     Count := 0;
  46.     WriteLn('Введите размерность');
  47.     readln(n, m);
  48.     WriteLn('Введите Элементы');
  49.     for i := 1 to n do
  50.         for j := 1 to m do
  51.         begin
  52.             Inc(Count);
  53.             a[i,j] := Count;
  54.         end;
  55.  
  56.     for i := 1 to n do
  57.     begin
  58.         for j := 1 to m do
  59.             Write(a[i,j], ' ');
  60.         Writeln;
  61.     end;
  62.     WriteLn('Введите Координаты');
  63.     readln(x1, y1);
  64.     readln(x2, y2);
  65.     rec(x1, y1, b, 0, xx, yy, 0);
  66.     writeln(max);
  67.     for i := 1 to nnn do
  68.         writeln(xx[i], ' ', yy[i]);
  69.  
  70.     readln;
  71. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement