只把主件当成真正的物品,附件从属于主件,用一个哈希表存主件到附件的映射,当成背包问题来做,对于有附件的主件,有四种情况,取其中的最大值。代码如下:#include <bits/stdc++.h>using namespace std;struct goods{ int id,price,imp,sat;};int main() { map<int,vector<goods>> hashtable; vector<goods> v; int n,money; cin>>money>>n; getchar(); for(i...