hdu Bone Collector(背包)

网友投稿 248 2022-09-04

hdu Bone Collector(背包)

二位数组做法;

#include#include#define M 1009typedef struct pack{ int cost; int val;}PACK;int f[M][M];

#include#include#define M 1009typedef struct pack{    int cost;    int val;}PACK;int main(){    int cas,n,v,i,j;    int f[M];    PACK a[M];    scanf("%d",&cas);    while(cas--){        scanf("%d%d",&n,&v);        memset(f,0,sizeof(f));        for(i=1;i<=n;i++)            scanf("%d",&a[i].val);        for(i=1;i<=n;i++)            scanf("%d",&a[i].cost);        for(i=1;i<=n;i++)            for(j=v;j>=a[i].cost;j--)            if(f[j]

int main(){ int cas,n,v,i,j; PACK a[M]; scanf("%d",&cas); while(cas--){ scanf("%d%d",&n,&v); memset(f,0,sizeof(f)); for(i=1;i<=n;i++) scanf("%d",&a[i].val); for(i=1;i<=n;i++) scanf("%d",&a[i].cost); for(i=1;i<=n;i++) for(j=0;j<=v;j++) if(j-a[i].cost>=0 && f[i-1][j] < f[i-1][j-a[i].cost]+a[i].val) f[i][j]=f[i-1][j-a[i].cost] + a[i].val; else f[i][j]=f[i-1][j]; printf("%d\n",f[n][v]); } return 0;}

一位数组:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:赵子琪夸赞孙俪演技,内涵年轻演员营销多,网友纷纷表示赞同!
下一篇:媒体:饥饿营销、用低成本原料,网红餐厅不能轻视“里子”!
相关文章

 发表评论

暂时没有评论,来抢沙发吧~