hdu2602——Bone Collector
01背包问题!1.现在的f]就相当于原来的f];
2.f表示前i件物品恰放入一个容量为v的背包可以获得的最大价值.
#include<stdio.h>#include<string.h>int a,b;int f;int main(){ int t,i,j,n,v; scanf("%d",&t); while(t--) { memset(f,0,sizeof(f)); scanf("%d%d",&n,&v); for(i=1;i<=n;i++) scanf("%d",&a); for(i=1;i<=n;i++) scanf("%d",&b); for(i=1;i<=n;i++) for(j=v;j>=0;j--) { if(j-b>=0) { f=f]+a>f?f]+a:f; } else f=f; } printf("%d\n",f); }}
页:
[1]