poj 3624 01背包
背包入门题。。
View Code
1 #include<stdio.h>
2 #include<string.h>
3 int dp[12885];
4 int max(int a,int b)
5 {
6 return a>b?a:b;
7 }
8 int main()
9 {
10 int n,m,i,j,w,v;
11 while(scanf("%d%d",&n,&m)!=EOF)
12 {
13 memset(dp,0,sizeof(dp));
14 for(i=1;i<=n;i++)
15 {
16 scanf("%d%d",&w,&v);
17 for(j=m;j>=w;j--)
18 dp[j]=max(dp[j],dp[j-w]+v);
19 }
20 printf("%d\n",dp[m]);
21 }
22 }