直接爆搜
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 返回总体积为V若干物品的最大总重量,如果g存在选择若干物品总体积为V的情况,返回-1 * @param v int整型vector * @param g int整型vector * @param V int整型 * @return int整型 */ vector<int>q,w; int ans=-1,l; void dfs(int i,int x,int y){ if(i==l){ if(x==0)ans=max(ans,y); return; } dfs(i+1,x,y);//不选 if(q[i]<=x)dfs(i+1,x-q[i],y+w[i]);//选 } int Maximumweight(vector<int>& v, vector<int>& g, int V) { l=v.size(); q=v,w=g; dfs(0,V,0); return ans; } };