牛牛选物
牛牛拆数
https://ac.nowcoder.com/acm/contest/9886/A
直接爆搜
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;
}
};