Как найти наименьшую разницу в отображении элементов основного списка на два дополнительных списка - PullRequest
1 голос
/ 04 августа 2020

У меня в команде 10 игроков. Моей команде игроков необходимо приобрести в общей сложности 10 бит и 10 мячей.

Они могут приобрести:

  1. биту и мяч
  2. две биты
  3. Два мяча Они не могут купить 3 биты, 3 мяча или любую другую комбинацию. Только два предмета.

У продавца есть 10 разных мячей и 10 разных бит, все по разным ценам. Как только 1 бита будет продана, она будет удалена из списка.

Покупатель может go в долг. У Продавца нет никаких изменений (даже после покупки). Если Покупатель потратит 100 на мяч стоимостью 10, он НЕ получит назад 90.

У меня есть доступ к информации о том, сколько денег имеет каждый игрок, а также о том, сколько Продавец продаст каждую биту. и мяч для.

Buyer - Name, Ball Purchase Price, Bat Purchase Price
Alpha   10 15
Bravo   20 20
Charlie 30 30
Delta   40 40
Echo    50 50
Foxtrot 60 60
Golf    70 70
Hotel   80 80
India   90 95
Juliett 99 99
Seller - Ball Name, Ball Price
A 10
B 20
C 30
D 40
E 50
F 60
G 70
H 80
I 90
J 99
Seller - Bat Name, Bat Price
A 99
B 95
C 80
D 70
E 60
F 50
G 40
H 30
I 20
J 15

В этом примере Alpha должна приобрести Ball-A и Bat-J, а Джульетт должна приобрести Ball-J и Bat-A.

Я пытаюсь найти оптимизированный способ выяснить, какой игрок должен покупать какие предметы, чтобы сэкономить больше денег как команда, или чтобы команда меньше всего имела долги.

Как вы поживаете? найти наименьшее различие в сопоставлении элементов первичного списка с двумя вторичными списками? В более сложном сценарии, как мне узнать, какой покупатель должен покупать какие товары?

В других примерах продавец может есть очень дорогой магазин, где игрокам, возможно, придется go в долги.

Поиск такого типа вопросов был трудным, так как я пытаюсь найти наименьшие различия между моим основным списком и t два вторичных списка, где первичный список может сравнивать один и тот же элемент дважды.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...