本解题提供一个树遍历的方法,同时考虑附件与主件的约束,考虑预算约束
其中样本:
5个物品,结果空间32,搜索了13个树分支路径
round 13 finished<--------
50 5
20 3 5
20 3 5
10 3 0
10 2 0
10 1 0


样本:


30个物品,1G空间,搜索了158,716的树分支路径
18000 30
100 3 0
400 5 0
1300 5 1
1400 2 2
500 2 0
800 2 0
1400 5 0
300 5 0
1400 3 0
500 2 0
1800 4 0
400 5 9
1300 5 9
1400 3 0
500 2 0
800 2 0
1400 5 0
300 4 0
1400 3 0
500 2 0
1800 2 0
400 5 20
1300 5 20
1400 3 0
500 2 0
800 5 0
1400 5 0
300 5 0
1400 3 27
500 2 27



-----Balance Change-----------------
Expense   budget    maxVal    takenItems
10        50        30        1
maxVal:0
-----balance Change: stack print----------
位置    价格     价值    权重    主件位置 附件数   附件1   附件2   主附件平均权重
idx     price   wghtV   wght    mPrt    xSub    sub1    sub2    meanWght
->+0       10      30      3       -1      0       -1      -1      0
  -1       20      60      3       4       0       -1      -1      2.33
  -2       20      60      3       4       0       -1      -1      2.33
  -3       10      20      2       -1      0       -1      -1      0
  -4       10      10      1       -1      0       -1      -1      0
maxVal:0
-----step: stack print----------
idx     price   wghtV   wght    mPrt    xSub    sub1    sub2    meanWght
  +0       10      30      3       -1      0       -1      -1      0
->-1       20      60      3       4       0       -1      -1      2.33
  -2       20      60      3       4       0       -1      -1      2.33
  -3       10      20      2       -1      0       -1      -1      0
  -4       10      10      1       -1      0       -1      -1      0

5项物品
-----bestPath stack print----------
idx     price   wghtV   wght    mPrt    xSub    sub1    sub2    meanWght
  -0       10      30      3       -1      0       -1      -1      0
  +1       20      60      3       4       0       -1      -1      2.33
  +2       20      60      3       4       0       -1      -1      2.33
  -3       10      20      2       -1      0       -1      -1      0
  +4       10      10      1       -1      2       -1      2       0
->-     -       -       -       -       -       -       -       -

30项物品
maxVal:75800
-----bestPath stack print----------
idx     price   wghtV   wght    mPrt    xSub    sub1    sub2    meanWght
  +0       1400    7000    5       -1      1       11      -1      0
  +1       1400    7000    5       -1      0       -1      -1      0
  +2       1400    7000    5       -1      0       -1      -1      0
  +3       800     4000    5       -1      0       -1      -1      0
  +4       400     2000    5       -1      0       -1      -1      0
  +5       300     1500    5       -1      0       -1      -1      0
  +6       300     1500    5       -1      0       -1      -1      0
  +7       1300    6500    5       20      0       -1      -1      4.86
  -8       500     1000    2       0       0       -1      -1      4.21
  +9       1300    6500    5       25      0       -1      -1      4.17
  +10      1800    7200    4       -1      0       -1      -1      0
  +11      1400    4200    3       0       0       -1      -1      4
  +12      300     1200    4       -1      0       -1      -1      0
  +13      1300    6500    5       18      0       -1      -1      3.96
  +14      400     2000    5       18      0       -1      -1      3.44
  +15      400     2000    5       25      0       -1      -1      3.33
  +16      1400    4200    3       -1      0       -1      -1      0
  -17      1400    4200    3       -1      0       -1      -1      0
  +18      1400    4200    3       -1      2       -1      14      0
  -19      1400    4200    3       -1      0       -1      -1      0
  +20      100     300     3       -1      1       7       -1      0
  -21      1400    2800    2       4       0       -1      -1      2.67
  -22      1800    3600    2       -1      0       -1      -1      0
  -23      800     1600    2       -1      0       -1      -1      0
  -24      800     1600    2       -1      0       -1      -1      0
  +25      500     1000    2       -1      2       -1      15      0
  -26      500     1000    2       -1      0       -1      -1      0
  -27      500     1000    2       -1      0       -1      -1      0
  -28      500     1000    2       -1      0       -1      -1      0
  -29      500     1000    2       -1      0       -1      -1      0
->-     -       -       -       -       -       -       -       -