Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 5, 2024 20:36:16

OdinLaVoie
Зарегистрирован: 2024-02-05
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Задача на переливания (не простая)

Есть два сосуда, первый объемом A литров, второй объемом B литров, а также кран с водой. Они могут выполнять следующие операции:

Наполнить сосуд A (обозначается >A).
Наполнить сосуд B (обозначается >B).
Вылить воду из сосуда A (обозначается A>).
Вылить воду из сосуда B (обозначается B>).
Перелить воду из сосуда A в сосуд B (обозначается как A>B).
Перелить воду из сосуда B в сосуд A (обозначается как B>A).
Команда переливания из одного сосуда в другой приводят к тому, что либо первый сосуд полностью опустошается, либо второй сосуд полностью наполняется.

Входные данные

Программа получает на вход три натуральных числа A, B, N, не превосходящих 10**4.

Выходные данные

Необходимо вывести алгоритм действий, который позволяет получить в точности N литров в одном из сосудов, если же такого алгоритма не существует, то программа должна вывести текст Impossible.

Количество операций в алгоритме не должно превышать 10**5. Гарантируется, что если задача имеет решение, то есть решение, которое содержит не более, чем 10**5 операций.

Примеры

входные данные

3
5
1
выходные данные

>A
A>B
>A
A>B
входные данные

3
5
6
выходные данные

Impossible

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version