hdu 2602 bone collector(最裸01背包)

xiaoxiao2021-02-28  86

题目地址:点击打开链接

题意:a为价值,b为体积,求容量为V的背包最多可以装多少骨头。

#include<stdio.h> int dp(int a[],int b[],int N,int V){ int i,j,f[1001]={0}; for(i=0;i<N;i++){ for(j=V;j>=b[i];j--){//j-- if(f[j]<f[j-b[i]]+a[i]) f[j]=f[j-b[i]]+a[i]; } } return f[V]; } main(){ int i,j,T,N,V; int a[1001],b[1001]; scanf("%d",&T); for(i=0;i<T;i++){ scanf("%d%d",&N,&V); for(j=0;j<N;j++) scanf("%d",&a[j]); for(j=0;j<N;j++) scanf("%d",&b[j]);//有个bug在于数组又没录上,错写成i printf("%d\n",dp(a,b,N,V)); } }

转载请注明原文地址: https://www.6miu.com/read-96119.html

最新回复(0)