终极装备
来源:互联网 发布:nginx ssl 配置文件 编辑:程序博客网 时间:2024/04/30 04:45
建议前往我的网站获得最佳体验。
题目
【问题大意】**
小明玩游戏时,获得了一些终极装备,但在这之前,他已经获得了一批能和终极装备媲美的装备,并且前后的数量是一致的,但人物的最大负重为M,每个装备可提升人物V[i]力量值,自身重量为W[i](我们把这两个值称为该装备的属性),现在的目的是让人物更强大
【输入】
第一行3个数:M,N,T。分别为最大负重、装备数量、人物不带任何装备的能量值。
接下来N行,一行4个数,V1[i],W1[i],V2[i],W2[i](前后两组装备视为同种)
【输出】
人物能够达到的最大力量值,并且同种装备只能选一个。
【样例输入】
50 3 20
12 18 23 19
17 10 30 24
20 20 17 20
【样例输出】
80
【数据范围】
(其实这个贴出来没什么用)
(1<=M,T<=10000,1<=N<=200)
(1<=W[i],V[i]<=10000)
代码
int f[10010];//f[I]=当使用I重量时,可以达到的能量int main(int argc,char *argv[]){ int m,n,t; scanf("%d %d %d",&m,&n,&t); for(int i=1;i<=n;i++) { int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); if(b>d) { int t=a;a=c;c=t;t=b;b=d;d=t; } v1[i]=a;v2[i]=c;w1[i]=b;w2[i]=d; } memset(f,0,sizeof(f)); for(int i=1;i<=n;i++) { for(int j=m;j>=w1[i];j--) if(j>=w2[i]) f[j]=max3(f[j],f[j-w1[i]]+v1[i],f[j-w2[i]]+v2[i]); else f[j]=max2(f[j],f[j-w1[i]]+v1[i]); } printf("%d",f[m]+t);}
阅读全文
0 0
- 终极装备
- 【采药升级】终极装备
- [Dream Team邀请赛]----Best 终极装备
- 13th 【背包 动态规划】终极装备
- 装备
- 装备
- 装备
- java安全(七)终极装备——HTTPS协议之HTTP协议
- java安全(八)终极装备——HTTPS协议之SSL/TLS协议
- java装备
- 出售装备
- 最新装备
- 装备打造
- 装备选择
- 露营装备
- 运输装备
- 装备收集
- 乒乓装备
- python基础--随机函数
- 学习java的方向是什么?必须了解
- [原创]irrlicht 3d游戏武器粒子特效的实现2
- 自定义数据输入层
- selenium + java + js + jquery + xpath各种定位
- 终极装备
- 不以写代码而写代码
- String 与StringBuilder有什么区别
- 如何编写一个Linux字符设备驱动?
- 如何用java实现数据脱敏
- 【HDU
- Android Activity启动流程源码解析
- BZOJ3884 上帝与集合的正确用法[指数循环节]
- 认识内部类