ArturJan2020
18.09.2021 16:39

6. сортировка кубиков ваня придумал новый алгоритм сортировки и сейчас тренируется на кубиках с цифрами, чтобы понять, как он работает. перед ним на столе лежат кубики с числами от 1 до 10 (на каждом кубике записано одно число), выложенные в таком порядке: 8 9 10 4 5 6 1 7 2 3 за одну операцию ваня берет несколько рядом стоящих кубиков как одну конструкцию, переворачивает и кладет на прежнее место. например, если бы кубики лежали в таком порядке: 1 2 3 4 5 6 7 8 9 10, а ваня взял бы кубики начиная с кубика с цифрой 4 и заканчивая кубиком с цифрой 9 и перевернул бы, то получилась бы такая последовательность: 1 2 3 9 8 7 6 5 4 10. то, что какие-то кубики после выполнения подобных операций окажутся лежащими вверх ногами, ваню не смущает. кроме того, ваня различает кубик с цифрой 6 и кубик с цифрой 9 (они разного цвета, поэтому невозможно одну цифру получить из другой при перевороте). ване понять, какое наименьшее количество таких операций потребуется, чтобы кубики стали лежать в порядке возрастания: 1 2 3 4 5 6 7 8 9 10. комментарий. если бы у него было всего 4 кубика и они лежали в таком порядке: 4 1 3 2, то наименьшее количество операций было бы равно двум: сначала переворачиваем кусок из первых двух кубиков слева, получаем 1 4 3 2, затем переворачиваем кусок из трех кубиков справа, получаем 1 2 3 4.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
napol2011
01.03.2020 00:53
// PascalABC.NET 3.1, сборка 1218 от 12.04.2016
uses GraphABC;

procedure Sun(x, y: integer);
begin
  var c := 8;
 
  for var j := 1 to 100 do
  begin
    var r := 15 * c;
    var k := 0;
    if j mod 2 = 0 then k := 20;
    
    for var i := 0 to c do
    begin
      Brush.Color := RGB(230 - k, 230 - k, 0);
      Circle(x, y, r);
      k := k + 15;
      r := r - 15;
      sleep(100);
    end;
  end;
end;

procedure House(x, y: integer);
begin
  Brush.Color := clBrown;
  Pen.Color := clBurlyWood;
  var house_width := 300;
  var house_height := 300;
  var count := 10;
  var step := round(house_width / count);
 
  FillRectangle(x, y, x + house_width, y + house_height);
 
  var xx := x;
  for var i := 1 to count - 1 do
  begin
    xx := xx + step;
    Line(xx, y, xx, y + house_height);
  end;
 
  Brush.Color := clGray;
  FillRectangle(x + 100, y + 100, x + 200, y + 210);
  Brush.Color := clYellow;
  FillRectangle(x + 105, y + 105, x + 195, y + 150);
  Brush.Color := clRed;
  FillRectangle(x + 105, y + 155, x + 150, y + 205);
  Brush.Color := clBlue;
  FillRectangle(x + 155, y + 155, x + 195, y + 205);
 
  MoveTo(x + house_width div 2, y - 80);
  LineTo(x + house_width, y, Pen.Color);
  LineTo(x, y, Pen.Color);
  LineTo(x + house_width div 2, y - 80, Pen.Color);
  FlooDfill(x + house_width div 2, y - 10, clOlive);
 
  Brush.Color := clRed;
  Circle(x + house_width div 2, y - 35, 30);
end;

procedure Turtoise(x, y: integer);
begin
  Brush.Color := clGreen;
  Pen.Color := clGreen;
  FillRectangle(x + 5, y + 15, x - 20, y + 24);
  FillRectangle(x + 50, y, x + 30, y + 70);
  FillRectangle(x + 100, y, x + 120, y + 70);
  FillCircle(x + 170, y, 30);
 
  Brush.Color := clWhite;
  FillCircle(x + 180, y - 20, 10);
 
  Brush.Color := clBlack;
  FillCircle(x + 182, y - 18, 2);
  Brush.Color := clRed;
  FillRectangle(x + 180, y, x + 200, y + 4);
  Brush.Color := clBrown;
  FillEllipse(x, y - 10, x + 150, y + 50);
end;

begin
  Window.Init(0, 0, 1920, 1000, clBlue);
  Brush.Color := clLimeGreen;
  Rectangle(0, 580, 1920, 1018);
 
  House(700, 380);
  Turtoise(300, 600);
  Turtoise(900, 750);
  Sun(1200, 200);
end.
0,0(0 оценок)
Ответ:
natalyasergeev1
15.10.2020 06:16
Var a:array[1..100,1..100] of integer;                     
            N,M,i,j,min,kmin:integer;
begin
readln(N,M);
min:=10000;
kmin:=0;     
for i:=1 to N do begin           
  writeln();         
      for j:=1 to M do begin           
               a[i,j]:=random(50);
                 write(a[i,j],'  ');         
               if min = a[i,j] then
                            kmin:=kmin+1           
               else if min > a[i,j] then begin
                                        kmin:=1; min:=a[i,j];
                            end;         
          end;     
end;
writeln();
write(min,' ',kmin);
readln();
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота