Я с нетерпением жду алгоритма для проблемы ниже.
Проблема: будет множество людей, которые должны друг другу денег или нет. Теперь мне нужен алгоритм (лучший и аккуратный) для расчета расходов среди этой группы.
Person AmtSpent
------ ---------
A 400
B 1000
C 100
Total 1500
Теперь расходы на человека составляют 1500/3 = 500. Значение B дает A 100. B, чтобы дать C 400. Я знаю, я могу начать с наименьшего затраченного количества и работать вперед.
Может ли кто-нибудь указать мне лучший, если у вас есть.
Спасибо заранее.
Подводя итог,
1. Найдите общий расход и расход на одну голову.
2. Найдите сумму, каждая из которых обязательна или непогашенная (-ve обозначает выдающийся).
3. Начните с наименьшей + ve суммы. Выделите его на -ve сумму.
4. Продолжайте повторять шаг 3, пока не закончите превышение.
s. Переместитесь к следующему большему + ve номеру. Продолжайте повторять 3 и 4, пока не появятся + ve номера.
Или есть лучший способ сделать? Мне просто интересно.:)