题目大意
解题思路
完全背包与01背包是十分相似的。 区别就是01背包的选最多选一次 也就意味着每件物品只有一件 而 完全背包意味着每件物品是有多件的,所以完全背包问题是每件物品可以供多次选择的
代码实现
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int T;
int N;
int price[]={150,200,350};
int dp[10005];
cin>>T;
while(T--)
{
memset(dp,0,sizeof(dp)); //清零
cin>>N;
for(int i=0;i<3;i++)
{
for(int j=price[i];j<=N;j++)
{
if(dp[j-price[i]]+price[i]>dp[j])
dp[j] = dp[j-price[i]]+price[i];
}
}
cout<<N-dp[N]<<endl;
}
return 0;
}