
Сдать решение задачи 3-Алгоритм переливаний Задача 3: Алгоритм переливаний В кабинете химии есть
три колбы объёмами 6 мл, 20 мл и 35 мл. Обозначим их буквами A, B, C соответственно. Также у вас есть неограниченный запас реактива. Используя эти колбы вам необходимо отмерить ровно 1 мл реактива. При этом весь реактив, который будет налит в колбы, придётся вылить (он будет загрязнён от контакта с колбами), поэтому вы хотите потратить как можно меньше реактива, чтобы отмерить ровно 1 мл. С колбами можно выполнять следующие действия: Наполнить какую-то колбу реактивом до края. Вылить весь реактив из какой-то колбы. Перелить реактив из одной колбы в другую, пока в первой колбе не кончится реактив или вторая колба не заполнится целиком. Составьте алгоритм переливаний, в результате исполнения которого в какой-то из колб окажется 1 мл реактива, а объём использованного реактива будет как можно меньше. Для записи алгоритма используются следующие команды: >X Наполнить колбу X (вместо X должен быть один из символов A, B, C). X> Вылить реактив из колбы X (вместо X должен быть один из символов A, B, C). X>Y Перелить реактив из X в Y (вместо X и Y должны быть два различных символа из A, B, C). Нельзя переливать реактив из одной колбы в ту же самую колбу. Команды записываются по одной в строке. Например, следующая последовательность команд >B B>C C> обозначает, что сначала наполняется колба B, потом реактив из колбы B переливается в колбу C, потом из колбы C выливается весь реактив. Чем меньше реактива будет использовано для реализации вашего алгоритма, тем больше баллов вы получите.

Ответы на вопрос

>A
A>C
A>C
A>C
A>C
A>C
A>C
В колбе A остается 1 мл.
Поставь сердечко, если не сложно :3



Ответ:
>C (Наполняешь 35мл)
C>B (в В становится 20, в С 15)
>A (Наполняешь 6 мл)
A>C (В А становится 0, в С 21)
B> (Выливаешь все из В)
C>B (В В становится 20, в С 1)
В колбе С теперь 1 мл
Объяснение:



Для решения этой задачи вам нужно использовать жадный алгоритм, который будет минимизировать количество реактива, потраченного на отмеривание 1 мл. Вот алгоритм:
Наполните колбу A до края:
A
Перелейте реактив из колбы A в колбу B: A>B
Вылейте колбу B: B>
Перелейте реактив из колбы A в колбу C: A>C
Вылейте колбу C: C>
Перелейте реактив из колбы B в колбу C: B>C
Наполните колбу A до края:
A
Перелейте реактив из колбы A в колбу B: A>B
Вылейте колбу B, и вам останется 1 мл реактива в колбе A: B>
Таким образом, вы сможете отмерить 1 мл реактива, потратив минимальное количество реактива, и в колбе A останется 1 мл. Этот алгоритм минимизирует расход реактива.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili