Сочетание суммы множеств - PullRequest
0 голосов
/ 12 ноября 2018

Есть n количество наборов с 4 элементами, где набор фиксирован.

A = {10, 0, 5, 2}
B = {5, 2, 4, 8}
C = {3, 5, 7, 0}
D = {4, 3, 0, 9}
E = {0, 2, 0, 1}
F = {3, 0, 9, 2}
G = {1, 0, 2, 3}
H = {3, 1, 0, 2}
.
.
.
n

Я хотел бы сгенерировать комбинацию m наборов назначенной суммы со следующими правилами:

  • Указанная сумма вводится пользователем
  • Каждый набор может использоваться только один раз
  • Максимум 4 набора для достижения суммы
  • Можетбыть равным или превышающим сумму

Например, я хочу сгенерировать следующую сумму.

{13, 5, 12, 2}
{8, 5, 4, 13}
{3, 1, 8, 2}
.
.
.
m

После расчета будет получена комбинация каждого набора.

{13, 5, 12, 2} = A,C = {10+3, 0+5, 5+7, 2+0} = {13, 5, 12, 2}
{8, 5, 4, 13} = B,D = {5+4, 2+3, 4+0, 8+9} = {9, 5, 4, 15}
{7, 3, 10, 8} = E,F,G,H = {0+3+1+3, 2+0+0+1, 0+9+2+0, 1+2+3+2} = {7, 3, 11, 8}

Каким будет самый лучший и самый простой способ выполнить расчет?

...