poj——3624——Charm Bracelet
2014-02-13 09:56
381 查看
Description
Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N (1 ≤ N ≤ 3,402) available charms. Each charm i in the supplied list has a weight Wi (1
≤ Wi ≤ 400), a 'desirability' factor Di (1 ≤ Di ≤ 100), and can be used at most once. Bessie can only support a charm bracelet whose weight is no more than M (1 ≤ M ≤ 12,880).
Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the maximum possible sum of ratings.
Input
* Line 1: Two space-separated integers: N and M
* Lines 2..N+1: Line i+1 describes charm i with two space-separated integers: Wi and Di
Output
* Line 1: A single integer that is the greatest sum of charm desirabilities that can be achieved given the weight constraints
Sample Input
Sample Output
Bessie has gone to the mall's jewelry store and spies a charm bracelet. Of course, she'd like to fill it with the best charms possible from the N (1 ≤ N ≤ 3,402) available charms. Each charm i in the supplied list has a weight Wi (1
≤ Wi ≤ 400), a 'desirability' factor Di (1 ≤ Di ≤ 100), and can be used at most once. Bessie can only support a charm bracelet whose weight is no more than M (1 ≤ M ≤ 12,880).
Given that weight limit as a constraint and a list of the charms with their weights and desirability rating, deduce the maximum possible sum of ratings.
Input
* Line 1: Two space-separated integers: N and M
* Lines 2..N+1: Line i+1 describes charm i with two space-separated integers: Wi and Di
Output
* Line 1: A single integer that is the greatest sum of charm desirabilities that can be achieved given the weight constraints
Sample Input
4 6 1 4 2 6 3 12 2 7
Sample Output
23
#include <iostream> #include <cstring> #include <algorithm> using namespace std; int main() { int n,m; int dp[22222]; int w[4000]; int v[4000]; while(cin>>n>>m) { memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) { cin>>w[i]>>v[i]; } for(int i=0;i<n;i++) { for(int j=m;j>=w[i];j--) { dp[j]=max(dp[j],dp[j-w[i]]+v[i]); } } cout<<dp[m]<<endl; } return 0; }
相关文章推荐
- poj 3624 Charm Bracelet
- POJ 3624:Charm Bracelet【01背包】
- poj 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- poj-3624-Charm Bracelet
- poj 3624 : Charm Bracelet (01背包)
- POJ 3624 Charm Bracelet 赤裸裸的0-1背包
- POJ 3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- POJ_3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- POJ3624 - Charm Bracelet - 动态规划之01背包
- poj 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- Charm Bracelet POJ - 3624
- poj 3624 Charm Bracelet
- poj 3624 Charm Bracelet