B. RPG Protagonist

B. RPG Protagonist

题意:

你有两个背包,大小分别为p和f

有两种物品,数量分别位cnts,cntw

他们的体积分别为s,w

求最大装下多少物品

 

思路:

枚举第一个背包装体积小的物品的数量即可

 

代码:

#include<bits/stdc++.h>
#define ll long long
#define maxn (int)1e3+5
using namespace std;

int t;
ll p,f,cnts,cntw,s,w;
int main(){
    cin>>t;
    while(t--){
        cin>>p>>f>>cnts>>cntw>>s>>w;
        if(s>w){
            swap(s,w);
            swap(cnts,cntw);
        }
        ll ans=0;
        for(ll i=0;i<=cnts;i++){
            ll c1=0,c2=0,c3=0,c4=0;
            c1=min(i,p/s);
            c2=min((p-c1*s)/w,cntw);
            c3=min((cnts-c1),f/s);
            c4=min((f-c3*s)/w,(cntw-c2));
            ans=max(ans,c1+c2+c3+c4);
        }
        cout<<ans<<endl;
    }
}

 

上一篇:Spring Boot 集成Shiro和CAS


下一篇:leetcode每日一题之3.至少有 K 个重复字符的最长子串