数据结构算法 背包问题,如何控制递归解法迭代数不重复

第一张图是题干 第二张图是我目前的算法
我现在的问题有两个
第一 我现在死也想不出来如何能保证每次递归i不重复,我现在的递归最优解是 value36( 8 8 8 8) 对应重量(4 4 4 4) 但是明显 重量位四的东西只有一个 ,那如何保证每次二叉树递归迭代数不重复呢? 我现在无法保证…… 唉
第二个问题 我想进一步 要显示出来最后解对应的重量组合是啥 要达到这个目的 应该怎么改写呢?谢谢!!