1 Ответ
Задание 1: Чаепитие
Слон Семён каждое утро пьёт чай и ест бутерброды с яблочным вареньем. У него есть длинный стол, на котором в ряд слева направо выставлены чашки чая и банки с вареньем и выложен хлеб. Чтобы чаепитие удалось, нужно, чтобы при просмотре слева направо сначала шёл весь хлеб, затем всё варенье, и затем весь чай.
Слон использует хобот для перестановки предметов, поэтому за одну секунду он может поменять местами только два соседних предмета. Обозначим хлеб буквой «Х», варенье буквой «В», чай буквой «Ч». Тогда последовательность предметов на столе задаётся строкой из этих букв. Например, при расстановке предметов «ВЧXВ» на подготовку стола потребуется три секунды. Предметы, которые переставляются местами каждую секунду, подчёркнуты.
1. ВХЧХЧВ
2. ХВХВЧВ
3. ХВВЧВЧ
Слон торопится и поэтому хочет знать, при какой первоначальной расстановке предметов у него уйдёт наибольшее время на подготовку стола.
Запишите последовательность из букв «Х», «В», «Ч» для четырёх случаев. Количество предметов каждого вида вы можете выбрать самостоятельно, но общее число букв в ответе должно соответствовать заданному. Вы должны найти такую расстановку, при которой подготовка стола займёт наибольшее время для данного числа предметов.
Если вы не можете найти ответ для какого‑то случая, запишите любую строку из букв «Х», «В», «Ч» нужной длины.
Ответ:
3 предмета — ЧВХ
9 предметов — ЧЧЧВВВХХХ
11 предметов — ЧЧЧЧВВВВХХХ
13 предметов — ЧЧЧЧЧВВВВХХХХ
Задание 2: Набор на кружки
Учащиеся школы должны выбрать себе дополнительные занятия на год. Каждый из них выбрал как минимум один предмет из предложенных: биологии, музыки и шахмат. Известно, что 150 школьников выбрали биологию, 130 учеников музыку и 100 шахматы, но каждый учащийся мог выбрать и несколько предметов. Ответьте на вопросы. Если вы не можете дать ответ на какой‑то вопрос, запишите в ответе любое число.
1. Какое минимальное количество учащихся могло быть в школе? = 150
2. Какое максимальное количество учащихся могло быть в школе? =380
3. Считайте, что одновременно биологию и музыку выбрали 85 учащихся. Сколько школьников выбрало ровно один из этих двух предметов? = 195
4. Считайте, что ни один школьник не выбрал одновременно биологию и шахматы, одновременно биологию и музыку выбрали 6060 учеников, а всего в школе 250 учащихся. Сколько школьников выбрало и шахматы, и музыку? = 250
5. Считайте, что в ситуации из пункта 4 на кружки разрешили записываться учащимся других школ. Какое минимальное дополнительное количество школьников должно записаться на предложенные предметы, чтобы количество людей, посещающих только музыку, стало равняться количеству людей, не посещающих её? = 180
Задание 3: Кратчайший путь
Есть 7 городов, обозначенных буквами английского алфавита A, B, C, D, E, F, G. Вы хотите посетить эти все города ровно по одному разу каждый и вернуться в начальную точку своего путешествия. Для этого вы можете воспользоваться самолётами: между двумя любыми городами есть прямой авиарейс. Стоимость перелёта между парой городов приведена в следующей таблице.
Необходимо построить замкнутый маршрут, проходящий через все города по одному разу, стоимость перелёта по которому была бы минимально возможной.
Расположите города в том порядке, в котором вы будете их посещать. Чем короче будет найденный вами маршрут, тем больше баллов вы получите. Обратите внимание: при расчёте стоимости маршрута также учитывается перелёт из последнего города вашего ответа в первый город.
A ->
B ->
C ->
D ->
E ->
F ->
G ->
А->В->D->E->F->C->G
Задание 4: Задание 4. Путешествие
Данис живёт на клетчатой плоскости и может перемещаться по плоскости в одном из четырёх направлений: направо, налево, вверх, вниз. За один шаг он перемещается на единицу длины. Ось OX (первая координата) направлена вправо, ось OY (вторая координата) направлена вверх.
Данис начинает путь в точке (0; 0). Например, если он выполнит четыре команды перемещения «направо», «вниз», «налево», «вверх», то посетит следующие точки: (1; 0), (1; −1), (0; −1), (0; 0). Всего Данис сделал 1000 шагов, после чего захотел узнать ответы на следующие вопросы.
1. Сколько раз Данис прошёл через точку (−11; 9)? = 9 раз
2. Какое количество различных точек посетил Данис? = 383 точек
3. В какой точке Данис побывал больше всего раз? Абсцисса (первая координата): = (-14, 4) (12 раз)
Ордината (вторая координата):
4. Какая посещённая им точка находится ближе всего к точке (10; 6)? = Ближайшая к точке (10, 6) посещённая точка: (1, 7)
Расстоянием между точками считается количество ходов, которые нужно сделать для того, чтобы попасть из одной точки в другую, то есть так называемое манхэттенское расстояние. Абсцисса (первая координата):
Ордината (вторая координата):
Задание 5: Качели
Ограничение по времени: 0.5 секунды
Ограничение по памяти: 256 мегабайт
Трое друзей Аня, Боря и Саша пришли на детскую площадку, чтобы покачаться на качелях‑балансире. Качели представляют собой длинную балку, закреплённую в центре, на которую дети садятся с разных концов.
Массы детей равны A, B и C кг. Чтобы держать баланс на качелях, разница масс на двух концах качелей должна быть не более D кг. Друзьям повезло: рядом с площадкой оказалась груда достаточно тяжёлых камней. Один из детей может взять с собой любой камень, чтобы сделать разность масс на концах качелей допустимой. Помогите друзьям определить минимальную массу камня, благодаря которому они смогут покачаться на качелях.
Замечание
В первом примере Аня и Саша сядут на одну сторону, их суммарная масса будет равна 65 кг. На другую сторону сядет Боря, взяв 15-килограммовый камень, тогда масса Бори с камнем составит 55 кг. Разница весов на концах качелей примет значение 10 кг.
Во втором примере Аня и Боря сядут на одну сторону (50 кг), Саша на другую сторону (45 кг). Разница весов будет равна 5 кг, поэтому камень не понадобится.
Ответ:
1 #include
2 #include
3 #include
4
5 using namespace std;
6
7 int main() {
8 int a, b, c, d;
9 cin >> a >> b >> c >> d;
10
11 vector weights = {a, b, c};
12 sort(weights,begin(), weights,end());
13
14 int difference = abs(weights[0] + weights[1] — weights[2]);
15 int result = max(0, difference — d);
16
17 cout << result << endl;
18 return 0;
19 }