1. 程式人生 > >01背包裸題

01背包裸題

using print eof return Go names include div main

#include"cstdio"
#include"cstring"
#include"algorithm"
using namespace std;
int N,W;
int w[105],p[105];
int dp[10005];
void DP()
{

for(int i=1; i<=N; i++)

        for(int c=W; c>=w[i]; c--)

               dp[c] = max(dp[c],dp[c-w[i]]+p[i]);
}
int main()
{
    int t;
    scanf("%d",&t);
    while(t--){
    memset(dp,0,sizeof(dp));
    scanf("%d%d",&N,&W);
    for(int i=1;i<=N;i++)
    {
        scanf("%d%d",&w[i],&p[i]);
    }
    DP();
    printf("%d\n",dp[W]);
    }
    return 0;
}

  

01背包裸題