hdu 2602 Bone Collector
2015-02-17 11:17
253 查看
#include<stdio.h> #include<string.h> #include<math.h> #include<algorithm> #include<iostream> using namespace std; int main() { int t,n,v,i,j,w[1024],s[1024],d[1024]; scanf("%d",&t); while(t--) { memset(d,0,sizeof(d)); scanf("%d%d",&n,&v); for(i=0;i<n;i++) scanf("%d",&w[i]); for(i=0;i<n;i++) scanf("%d",&s[i]); for(i=0;i<n;i++) { for(j=v;j>=s[i];j--) d[j]=max(d[j],d[j-s[i]]+w[i]); } printf("%d\n",d[v]); } return 0; }
二维
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; int d[1024][1024]; int main() { int t,n,v,i,j,w[1024],s[1024]; scanf("%d",&t); while(t--) { memset(d,0,sizeof(d)); scanf("%d%d",&n,&v); for(i=1; i<=n; i++) scanf("%d",&w[i]); for(i=1; i<=n; i++) scanf("%d",&s[i]); for(i=1; i<=n; i++) { for(j=0; j<=v; j++) { if(j>=s[i]) d[i][j]=max(d[i-1][j],d[i-1][j-s[i]]+w[i]); else d[i][j]=d[i-1][j]; } } printf("%d\n",d [v]); } return 0; }
相关文章推荐
- HDU 2602 Bone Collector(01背包)
- HDU - 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector --01背包
- HDU 2602 - Bone Collector
- hdu 2602 Bone Collector(01背包)
- hdu-2602-Bone Collector(01背包)
- hdu 2602 Bone Collector 01背包
- HDU 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector (01背包)
- hdu 2602 Bone Collector 01背包
- hdu 2602 Bone Collector(01背包)
- HDU 2602 Bone Collector(DP:01背包)
- hdu 2602 Bone Collector (0-1背包)
- HDU 2602 Bone Collector(01背包)
- hdu 2602 Bone Collector (01背包)
- hdu 2602 Bone Collector (01背包)
- hdu 2602 Bone Collector(01背包)
- HDU 2602(Bone Collector)解题纠错
- HDU 2602 Bone Collector ( DP )