题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1248
题目大意:中文题目
解题思路:简单的完全背包问题。
AC代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
int T;
int n;
int price[]={150,200,350};
int dp[10005];
while(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;
}
本文介绍了如何通过完全背包问题解决特定类型的问题,并提供了一段AC代码作为示例。主要关注于基本概念和代码实现。
&spm=1001.2101.3001.5002&articleId=50001597&d=1&t=3&u=77e32bfccfad4a30b22ed89120f8ac77)
1046

被折叠的 条评论
为什么被折叠?



