http://acm.hdu.edu.cn/showproblem.php?pid=2602
基础的01背包
#include<stdio.h> #include<algorithm> using namespace std; struct Node { int v;//value int w;//weight }node[1005]; int main() { int i,T,n,j,m; scanf("%d",&T); while(T--) { int bao[1005]={0}; scanf("%d%d",&n,&m); for(i=1;i<=n;i++) scanf("%d",&node[i].v); for(i=1;i<=n;i++) scanf("%d",&node[i].w); for(i=1;i<=n;i++) { for(j=m;j>=node[i].w;j--) { bao[j]=max(bao[j],bao[j-node[i].w]+node[i].v); } } printf("%d\n",bao[m]); } return 0; }