昨天蒟蒻没事干了自己写了个背包(老师没讲,只给了一份设好w、v、dp的)
#include<bits/stdc++.h>
using namespace std;
int total_weight,n;
int w[3005]={0};
int v[3005]={0};
int dp[6009]={0};
int main(){
cin>>total_weight>>n;
for(int i=0;i++;i<=n){
cin>>w[i];
}
for(int i=0;i++;i<=n){
cin>>v[i];
}
for(int i=1;i<=n/2;i++){
for(int j=w[i];j<=n;j++){
dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
}
}
cout<<dp[n]<<endl;
}
RT.我写的时候不知道怎么着没输入w和v两个数组就结束了。