vijos 1025 背包 *

链接:点我

输入顺序又反了

 1 #include<cstdio>

 2 #include<iostream>

 3 #include<algorithm>

 4 #include<cstring>

 5 #include<cmath>

 6 #include<queue>

 7 #include<map>

 8 using namespace std;

 9 #define MOD 1000000007

10 const int INF=0x3f3f3f3f;

11 const double eps=1e-5;

12 typedef long long ll;

13 #define cl(a) memset(a,0,sizeof(a))

14 #define ts printf("*****\n");

15 const int MAXN=1005;

16 int n,m,tt;

17 int dp[MAXN];

18 int w[MAXN],v[MAXN];

19 int main()

20 {

21     int i,j,k;

22     int W;

23     scanf("%d",&n);

24     scanf("%d",&W);

25     for(i=0;i<n;i++)    scanf("%d%d",&v[i],&w[i]);

26     cl(dp);

27     for(i=0;i<n;i++)

28     {

29         for(j=W;j>=w[i];j--)

30         {

31             dp[j]=max(dp[j],dp[j-w[i]]+v[i]);

32         }

33     }

34     printf("%d\n",dp[W]);

35 }

 

你可能感兴趣的:(OS)