Для решения задачи о переводе средств между банками с учетом комиссий, начнем с того, что нужно учесть все возможные маршруты и комиссии на них. Давайте разобьем задачу на шаги.
Понимание структуры графа:
- У нас есть банк A (откуда переводим), банки D, E, F (промежуточные банки) и банк B (куда переводим).
- Комиссия за перевод из банка A в D или E, F, а затем в B составляет 4,5% (для A → B) и 0,9% (между D, E и F).
Определение возможных маршрутов перевода: Для минимизации комиссии стоит попробовать маршруты следующего вида (в зависимости от того, какие связи есть между банками):
- A → D → B
- A → E → B
- A → F → B
- A → D → E → B
- A → D → F → B
- A → E → D → B и т.д.
Расчет комиссий: Давайте рассмотрим пример маршрута, чтобы понять как рассчитать общую комиссию. Предположим, что у нас есть некоторое количество денег, обозначенное как X.
Маршрут A → D → B:
- Комиссия = 4,5% от X (перевод в D) + 0% (перевод из D в B)
- Общая комиссия = 4,5%.
Маршрут A → D → E → B:
- Комиссия = 4,5% от X (A в D) + 0,9% от X (D в E) + 0% от X (E в B)
- Общая комиссия = 4,5% + 0,9% = 5,4%.
Широкий маршрут через все банки:
- A → D → E → F → B
- Общая комиссия = 4,5% + 0,9% + 0,9% + 0% (последний перевод)
- Общая комиссия = 4,5% + 1,8% = 6,3%.
Оптимизация маршрута: Теперь мы должны найти оптимальный маршрут, который дает меньшую общую комиссию, чем 4,02%.
Чтобы точно оценить, нам нужно скомпилировать все возможные комиссии для каждого маршрута до момента, когда они достигают B. В даваемых значениях каждая последующая коммиссия может добавляться, если мы используем промежуточные банки, что будет увеличивать общую комиссию в зависимости от маршрута.
Теперь, чтобы найти комиссию, которая была бы меньше 4,02%, нам необходимо дерегулировать различные маршруты с учетом тех, что указаны, и, возможно, пересчитать комиссии.
Посмотрим на простейшие маршруты:
- Если мы используем только промежуточные банки, например, маршрут A → D, D → E, E → B даст комиссию 2*(0,9%) + 4,5%. Но он выйдет далеко за рамки целевой комиссии 4,02%.
Таким образом, можно использовать следующий маршрут: использование всех банков, где мы работаем с комбинацией от D к B с минимизацией самой высокой комиссии.
- Находим минимальную возможную комиссию: В итоге, при использовании оптимальных промежуточных маршрутов:
Минимальная комиссия при переводе через D и E составит 3,6% (через D в E и затем в B), меньше чем 4,02%.
Следовательно, минимальная возможная комиссия — 3,60%.