germanbet
18.02.2022 12:25

Для школьного праздника группа учащихся решила поставить танец, в котором иллюстрировалась бы работа алгоритма сортировки пузырьком. В этом танце учащиеся становятся в одну линию, после этого некоторые стоящие рядом танцоры могут меняться местами. Одновременные обмены запрещены, то есть пока одна пара танцоров меняется местами, другие остаются на своих местах. В конце танца все девочки должны стоять в ряду слева, а все мальчики — справа. По данному первоначальному расположению мальчиков и девочек в ряду определите, какое минимальное число обменов им необходимо совершить, чтобы встать нужным образом.

Например, пусть первоначальная расстановка танцоров такая (буква «Д» обозначает девочку, буква «М» обозначает мальчика):

МДДМД
Тогда им необходимо выполнить 4 обмена. Запишем расстановку после каждого обмена, выделив жирным шрифтом пару, которая поменялась местами.

ДМДМД
ДМДДМ
ДДМДМ
ДДДММ
В этой задаче вам необходимо определить минимальное число обменов для следующих пяти первоначальных расстановок:

МДММДМД




Во второй расстановке сначала стоит 7 мальчиков, потом 8 девочек.

В третьей расстановке стоит 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек, 10 мальчиков, 10 девочек. Всего 60 танцоров.

В четвёртой расстановке 1 мальчик, 1 девочка, 2 мальчика, 2 девочки, 3 мальчика, 3 девочки, 4 мальчика, 4 девочки, 5 мальчиков, 5 девочек, 6 мальчиков, 6 девочек. Всего 42 танцора.

В пятой расстановке мальчики и девочки чередуются, всего 80 танцоров.

ответом на эту задачу является пять целых чисел, записанных в пяти отдельных строках, по одному числу в строке. ответы на расстановки должны быть записаны в том же порядке, в котором они приведены в условии. Если вы не можете найти ответ для какой-то расстановки, напишите в качестве ответа любое число.

Для выполнения вычислений вы можете пользоваться компьютером (калькулятором, электронной таблицей, средой программирования).

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
vzlomhanter230
26.08.2022 18:08

m1=0

m2=0

m3=0

x=10

while x!=0:

x=int(input())#вводим число

if m1<x:  

 m3=m2

 m2=m1

 m1=x

elif x>m2 and  x>m3 and x<m1:

 m3=m2

 m2=x

elif x<m2 and x<m1 and x>m3:

 m3=x

print(m1,m2,m3,sep=" ")

вот std алгоритм заключается в том что у нас три переменных и мы после нахождения максимума все переменные сдвигаем назад то есть m1 становится m2, m2 становится m3 а m1 присваивается новый максимум  и так же тут случаи когда m2 или m3 больше старых но мешьше m1 он тогда просто меняет значение именно той переменной которой он больше

0,0(0 оценок)
Ответ:
ждл1
04.11.2022 03:01
Var a: array [1 .. 10] of integer;
  i, Count, C, tmpLast, tmpFirst: integer;
begin
  write('Введите число C: ');
  readln(C);
  writeln;
  for i := 1 to 10 do
  begin
    write('a[', i, '] = ');
    readln(a[i]);
    if a[i] = C then
    begin
      Count := Count + 1;
      tmpLast := i;
    end;
  end;
  writeln;
  if (Count = 0) then writeln('В массиве нет числа равное С')
  else
  begin
    writeln('В массиве нашлось число, равное С');
    if (Count = 1) then
      writeln('Первое и единственное число в позиции a[', tmpLast, ']')
    else
    begin
      i := 0;
      repeat
        i := i + 1;
        tmpFirst := i;
      until (a[i] = C);
      writeln('Первое такое число a[', tmpFirst, ']');
      writeln('Последнее такое число a[', tmpLast, ']');
    end;
  end;
  readln;
end.

Ввести число с. определить, есть ли в массиве элемент, равный с. найти • номер первого такого элемен
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота