BoyRed
11.04.2020 15:42

На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль­ной стены со­единён с верх­ним кон­цом вер­ти­каль­ной стены. Длины стен не­из­вест­ны. В каж­дой стене есть ровно один про­ход, точ­ное место про­хо­да и его ши­ри­на не­из­вест­ны. Робот на­хо­дит­ся в клет­ке, рас­по­ло­жен­ной не­по­сред­ствен­но под го­ри­зон­таль­ной сте­ной у её ле­во­го конца. На ри­сун­ке ука­зан один из воз­мож­ных спо­со­бов рас­по­ло­же­ния стен и Ро­бо­та (Робот обо­зна­чен бук­вой «Р»). На­пи­ши­те для Ро­бо­та ал­го­ритм, за­кра­ши­ва­ю­щий все клет­ки, рас­по­ло­жен­ные не­по­сред­ствен­но ниже го­ри­зон­таль­ной стены и левее вер­ти­каль­ной стены. Про­хо­ды долж­ны остать­ся не­за­кра­шен­ны­ми. Робот дол­жен за­кра­сить толь­ко клет­ки, удо­вле­тво­ря­ю­щие дан­но­му усло­вию. На­при­мер, для при­ведённого выше ри­сун­ка Робот дол­жен за­кра­сить сле­ду­ю­щие клет­ки (см. ри­су­нок).

При ис­пол­не­нии ал­го­рит­ма Робот не дол­жен раз­ру­шить­ся, вы­пол­не­ние ал­го­рит­ма долж­но за­вер­шить­ся. Ко­неч­ное рас­по­ло­же­ние Ро­бо­та может быть про­из­воль­ным. Ал­го­ритм дол­жен ре­шать за­да­чу для лю­бо­го до­пу­сти­мо­го рас­по­ло­же­ния стен и лю­бо­го рас­по­ло­же­ния и раз­ме­ра про­хо­дов внут­ри стен. Ал­го­ритм может быть вы­пол­нен в среде фор­маль­но­го ис­пол­ни­те­ля или за­пи­сан в тек­сто­вом ре­дак­то­ре. Со­хра­ни­те ал­го­ритм в тек­сто­вом файле.​


На бес­ко­неч­ном поле есть го­ри­зон­таль­ная и вер­ти­каль­ная стены. Пра­вый конец го­ри­зон­таль

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Клямпер
22.02.2023 09:19
Представим, что мы сняли всю землю с холмов до нулевого уровня в пределах полосы шириной 1 метр, а потом засыпали её обратно так, чтобы уровень стал горизонтальным на высоте h.

Посчитаем объем земли, который был снят.
Всю землю можно разделить на фигуры толщиной 1 метр, в основании которых трапеции с высотой 1 м и основаниями - двумя соседними измерениями высоты. Тогда объем каждой фигуры V(i) = (h(i) + h(i + 1)) / 2, полный объем V = V(1) + V(2) + ... + V(N - 1) = h(1)/2 + (h(2) + h(3) + ... + h(N - 2)) + h(N - 1)/2

Объем земли, который использовался для засыпания, равен V = h (N - 1).

Эти объемы, конечно, равны, тогда h = (h(1)/2 + h(N - 1)/2 + (h(2) + h(3) + ... + h(N - 2))/(N - 1)

PascalABC.NET 3.2.1518:
begin
  var N := ReadInteger;
  print(ReadSeqInteger(N)
           .Select((x, i) -> (i = 0) or (i = N - 1) ? x/2 : x)
           .Sum / (N - 1))
end.

С вводом-выводом в файл:
begin
  var f := OpenRead('INPUT.TXT');
  var N := f.ReadInteger;
  var S := f.ReadInteger / 2;
  for var i := 2 to N - 1 do
    S += f.ReadInteger;
  S += f.ReadInteger / 2;
  print(S / (N - 1))
end.
Железная дорога при строительстве новой железной дороги возникли проблемы. дорога пролегает по холми
0,0(0 оценок)
Ответ:
аня2942
28.07.2022 17:03
Первая программа:

program p;

var
x, y: integer;

begin
  writeln('Введите x >> ');
  read(x);
  writeln('Введите y >> ');
  read(y);
  if (x<0) and (y>0) then
    begin
      writeln('Точка принадлежит второй координатной четверти');
    end
   else
    begin
      writeln('Точка не принадлежит второй координатной четверти');
    end
end.

Вторая:

program p2;

var
n, i, sum, j: integer;
arr: array[1..10] of integer;

begin
  writeln('Введите число n');
  read(n);
  while n>0 do
    begin
      inc(i);
      arr[i]:=n mod 10;
      n:=n div 10;
    end;
  for j:=1 to i do
    begin
      sum+=arr[j];
      //write(arr[j]);
    end;
  if sum>9 then3
    begin
      writeln('Сумма больше 9');
    end
  else
    begin
      writeln('Сумма меньше 9');
    end
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота