dianashabaneh
25.02.2023 09:12

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

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

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

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

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

МДММДМД




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

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

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

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

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

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

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
saimon0
02.06.2020 13:15
#include "iostream" using namespace std; int main(){ int secound =0; int hh =0; int mm =0; int ss =0; int ch[5]; cin >> secound; hh = secound / 3600; mm = secound/60 - hh * 60; ss = secound - hh*3600 - mm *60 ; if(hh >=24){ int b = hh / 24; hh = hh - 24 *b; } ch[0] = hh; if(mm< 10){ ch[1] =0; ch[2] = ss; }else ch[1] = mm / 10; ch[2] = mm - mm / 10 * 10; if(ss< 10){ ch[3] = 0; ch[4] = ss; } else ch[3] = ss /10; ch[4] = ss - ss / 10 * 10; cout << ch[0] << ':' << ch[1] <
0,0(0 оценок)
Ответ:
марина1916
18.03.2023 19:57
Построим битовые цепочки для первого и второго уравнений. Они одинаковые:

x1 1 0 0 0 0 0 0
x2 1 1 0 0 0 0 0
x3 1 1 1 0 0 0 0
x4 1 1 1 1 0 0 0
x5 1 1 1 1 1 0 0
x6 1 1 1 1 1 1 0

y1 1 0 0 0 0 0 0
y2 1 1 0 0 0 0 0
y3 1 1 1 0 0 0 0
y4 1 1 1 1 0 0 0
y5 1 1 1 1 1 0 0
y6 1 1 1 1 1 1 0

В 3 уравнении если x1=1, то y1 обязательно должен быть равен 1. Если x1=0, значит y1 может быть равен и 1, и 0.
Получается, что первому столбцу в цепочке иксов соответствует один набор в цепочке игриков, остальным шести столбцам иксов - семь столбцов игриков. 
Получается, что количество решений равно 1 + 6*7 = 43
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота