POJ3624-Charm Bracelet
http://poj.org/problem?id=3624
背包第一题
#include<cstdio> #include<cstring> #include<algorithm> #define maxn 30000 using namespace std; int weight[maxn],val[maxn],dp[maxn],N,M,i,j; int main(void) { while(scanf("%d%d",&N,&M)!=EOF) { for(i=0;i<N;i++) scanf("%d%d",&weight[i],&val[i]); memset(dp,0,sizeof(dp)); for(i=0;i<N;i++) for(j=M;j>=weight[i];j--) dp[j]=max(dp[j],dp[j-weight[i]]+val[i]); printf("%d\n",dp[M]); } return 0; }