15 101 2 3 4 55 4 3 2 1Example Output
1401背包
#include <iostream>#include <cstdio>#include <string.h>using namespace std;int main(){ int t,n,v,i,j; int vi[1005],ci[1005],a[1005]; cin>>t; while(t--) { memset(a,0,sizeof(a)); cin>>n>>v; for(i=1;i<=n;i++) { cin>>vi[i]; } for(i=1;i<=n;i++) { cin>>ci[i]; } for(i=1;i<=n;i++) { for(j=v;j>=ci[i];j--) { a[j]=max(a[j],a[j-ci[i]]+vi[i]); } } printf("%d/n",a[v]); } return 0;}
新闻热点
疑难解答