Чтобы помочь вам понять задачу, давайте рассмотрим, как выполнить оптимальный перевод денег между банками, минимизировав комиссию.
Исходные данные:
- Банк A: отправитель
- Банк B: получатель
- Комиссия за прямой перевод из банка A в банк B составляет 5%
- Существуют промежуточные банки D, E и F с комиссией 0,9% за переводы между ними.
Шаг 1: Определение альтернативного маршрута перевода
Перед тем как провести расчёты, давайте рассмотрим возможные маршруты перевода через промежуточные банки. Мы можем рассмотреть несколько сценариев, основанных на графе:
- A → D → B
- A → E → B
- A → F → B
- A → D → E → B
- A → D → F → B
- A → E → F → B
- A → F → D → B
- По маршруту с несколькими промежуточными банками, например, A → D → E → F → B и так далее.
Шаг 2: Рассчёт комиссии для каждого маршрута
Для расчётов возьмём за отправляемую сумму, например, 1000 единиц.
Сценарий 1: A → D → B
Перевод из A в D:
- Сумма перевода = 1000
- Комиссия = 0,9% от 1000 = 9
- Получает D = 1000 - 9 = 991
Перевод из D в B:
- Сумма перевода = 991
- Комиссия = 5% от 991 = 49,55
- Получает B = 991 - 49,55 = 941,45
Итоговая комиссия: 9 + 49,55 = 58,55
Сценарий 2: A → E → B
Перевод из A в E:
- Комиссия = 9
- Получает E = 991
Перевод из E в B:
- Комиссия = 49,55
- Получает B = 941,45
Итоговая комиссия: 58,55
Сценарий 3: A → F → B
Перевод из A в F:
- Комиссия = 9
- Получает F = 991
Перевод из F в B:
- Комиссия = 49,55
- Получает B = 941,45
Итоговая комиссия: 58,55
Сценарий 4: A → D → E → B
- Перевод из A в D: комиссия 9, остаток 991.
- Перевод из D в E: комиссия 0,9% от 991 = 8,90, остаток 982,10.
- Перевод из E в B: комиссия 49,10, остаток 932,90.
Итоговая комиссия: 9 + 8,90 + 49,10 = 67
Шаг 3: Оптимизация маршрута
Как видно из рассчитанных данных, маршруты с одним промежуточным банком (A → D → B, или A → E → B, или A → F → B) дают одинаковый итог по комиссии, который составляет 58,55 единиц. Это минимальная комиссия по сравнению с прямым переводом из A в B (50) и сложными маршрутами с несколькими промежуточными банками.
Заключение
Оптимальным вариантом является использование любого промежуточного банка D, E или F для перевода. Это снизит комиссию до 58,55 единиц, что предпочтительно по сравнению с прямым переводом в 5% от 1000 (т.е. 50 единиц). Использование промежуточных банков позволяет значительно сэкономить на комиссиях.