本文共 894 字,大约阅读时间需要 2 分钟。
输入文件:charm.in
输出文件:charm.out
简单对比 时间限制:1 s 内存限制:8 MB
译 by CmYkRgB123
描述
贝茜去了大卖场的珠宝商店,发现一个魅力手镯,她想把最好的宝石镶嵌在这条手镯上。她有 N (1 ≤ N ≤ 3,402) 种可用宝石,每种宝石 i 都有其重量 Wi (1 ≤ Wi ≤ 400),与价值 Di (1 ≤ Di ≤ 100),每种宝石最多只能用一次。贝茜只能把总重量不超过 M (1 ≤ M ≤ 12,880)的宝石镶嵌到手镯上。
给你每个宝石的重量和价值,请你算出贝茜最多能把总价值为多大的宝石镶嵌到手镯上。
输入
输出
样例输入
4 61 42 63 122 7
样例输出
23
1 #include2 using namespace std; 3 int w[15000],d[15000],dp[15000]; 4 int main() 5 { 6 int n,m; 7 freopen("charm.in","r",stdin); 8 freopen("charm.out","w",stdout); 9 scanf("%d%d",&n,&m);10 for(int i=1;i<=n;i++)11 scanf("%d%d",&w[i],&d[i]);12 for(int i=1;i<=n;i++)13 for(int j=m;j>=w[i];j--)14 dp[j]=max(dp[j],dp[j-w[i]]+d[i]);15 cout< <
转载地址:http://gewza.baihongyu.com/