HDU 1248 寒冰王座 完全背包

时间:2022-01-07 18:05:09

传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1248

中文题,大意就不说了。

第一道完全背包题,跟着背包九讲做的。

和0-1背包的区别在于所不同的是每种物品有无限件。

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=10000+10;
int dp[MAXN];
int c[3]={ 150 , 200 , 350};
int main()
{
int kase;
scanf("%d",&kase);
while(kase--)
{
int n;
scanf("%d",&n);
memset(dp,0,sizeof(dp)); for(int i=0;i<3;i++)
{
for(int j=c[i];j<=n;j++)
dp[j]= max (dp[j], dp[j- c[i] ]+c[i]);
} printf("%d\n",n-dp[n]);
}
}