题目背景

NASA(美国航空航天局)因为航天飞机的隔热瓦等其他安

全技术问题一直大伤脑筋,因此在各方压力下终止了航天

飞机的历史,但是此类事情会不会在以后发生,谁也无法

保证,在遇到这类航天问题时,解决方法也许只能让航天

员出仓维修,但是多次的维修会消耗航天员大量的能量,

因此NASA便想设计一种食品方案,让体积和承重有限的

条件下多装载一些高卡路里的食物.

题目描述

航天飞机的体积有限,当然如果载过重的物品,燃料会浪费很多钱,

每件食品都有各自的体积、质量以及所含卡路里,在告诉你体积

和质量的最大值的情况下,请输出能达到的食品方案所含卡路里

的最大值,当然每个食品只能使用一次.

输入输出格式

输入格式:

第一行 两个数 体积最大值(<400)和质量最大值(<400)

第二行 一个数 食品总数N(<50).

第三行-第3+N行

每行三个数 体积(<400) 质量(<400) 所含卡路里(<500)

输出格式:

一个数 所能达到的最大卡路里(int范围内)

输入输出样例

输入样例#1:

320 350
4
160 40 120
80 110 240
220 70 310
40 400 220
输出样例#1:

550

说明

很简单的背包...

思路:

  二维dp;

来,上代码:

#include <cstdio>
#include <iostream>
#include <algorithm> using namespace std; int if_z,m,w,n,vi[],ci[],wi[],dp[][]; char Cget; inline void in(int &now)
{
now=,if_z=,Cget=getchar();
while(Cget>''||Cget<'')
{
if(Cget=='-') if_z=-;
Cget=getchar();
}
while(Cget>=''&&Cget<='')
{
now=now*+Cget-'';
Cget=getchar();
}
now*=if_z;
} int main()
{
in(m),in(w),in(n);
for(int i=;i<=n;i++) in(vi[i]),in(ci[i]),in(wi[i]);
for(int i=;i<=n;i++)
{
for(int j=m;j>=vi[i];j--)
{
for(int k=w;k>=ci[i];k--)
{
dp[j][k]=max(dp[j][k],dp[j-vi[i]][k-ci[i]]+wi[i]);
}
}
}
cout<<dp[m][w];
return ;
}

AC日记——NASA的食物计划 洛谷 P1507的更多相关文章

  1. AC日记——校门外的树 洛谷 P1047

    题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置:数轴上的每个整数点,即0,1,2,……,L,都种 ...

  2. AC日记——无线网络发射器选址 洛谷 P2038

    题目描述 随着智能手机的日益普及,人们对无线网的需求日益增大.某城市决定对城市内的公共场所覆盖无线网. 假设该城市的布局为由严格平行的129 条东西向街道和129 条南北向街道所形成的网格状,并且相邻 ...

  3. AC日记——小A的糖果 洛谷七月月赛

    小A的糖果 思路: for循环贪心: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #defi ...

  4. AC日记——矩阵取数游戏 洛谷 P1005

    矩阵取数游戏 思路: dp+高精: 代码: #include <bits/stdc++.h> using namespace std; #define ll long long struc ...

  5. AC日记——红色的幻想乡 洛谷 P3801

    红色的幻想乡 思路: 线段树+容斥原理: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 100005 #de ...

  6. AC日记——妖梦拼木棒 洛谷 P3799

    妖梦拼木棒 思路: 神特么题: 代码: #include <bits/stdc++.h> using namespace std; #define mod 1000000007LL int ...

  7. AC日记——妖梦斩木棒 洛谷 P3797

    妖梦斩木棒 思路: 略坑爹: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 #define m ...

  8. AC日记——[SDOI2009]HH去散步 洛谷 P2151

    [SDOI2009]HH去散步 思路: 矩阵快速幂递推(类似弗洛伊德): 给大佬跪烂-- 代码: #include <bits/stdc++.h> using namespace std; ...

  9. AC日记——聪明的质监员 洛谷 P1314

    聪明的质监员 思路: 二分: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 200005 #define l ...

随机推荐

  1. python_112_网络编程 Socket编程

    实例1:客户端发小写英文,服务器端返回给客户端大写英文(仅支持一次接受发送) 服务器端: #服务器端(先于客户端运行) import socket server=socket.socket() ser ...

  2. 一款App的开发成本是多少?

    答一: 接触过上万名创业者,开发上线过超过30款App,没有比我更适合回答这个问题的了.. 本文对想做好一款App项目的人来说这是一篇价值百万的回答!因为这是我们花了几百万试错成本试出来的经验! &l ...

  3. Apache Commons Configuration的应用

    Apache Commons Configuration的应用 Commons Configuration是一个java应用程序的配置管理工具.可以从properties或者xml文件中加载软件的配置 ...

  4. 【转】pycharm使用中的一些快捷键

    正在使用pycharm,发现多行注释以及大块代码格式化的时候却急于没有快捷方式,于是百度了一下,恰好看到这位博主的总结,大部分我使用的不多,不过还是全部粘了过来,以备将来不时之需. [转载]博主地址链 ...

  5. RN原生方法setNativeProps

    https://facebook.github.io/react-native/docs/direct-manipulation.html setNativeProps可以直接修改底层native组件 ...

  6. perl的bareword

    perl的bareword可能被认为:label  . 句柄 .函数 . 普通字符串. 上下文不同,解释器有歧义. 最好用 use strict; use warning;

  7. (转)python之禅

    凡是用过 Python的人,基本上都知道在交互式解释器中输入 import this 就会显示 Tim Peters 的 The Zen of Python,但它那偈语般的语句有点令人费解,所以我想分 ...

  8. centos7 安装nodejs 最新版

    笔者在安装时,node为11.0.0版本.这里以11版本为例,以后更新,安装步骤时一致的. 下载node安装包到指定目录 wget https://npm.taobao.org/mirrors/nod ...

  9. adb 命令大全

    传送门 --> https://github.com/mzlogin/awesome-adb ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的 ...

  10. Absolute(绝对定位)与relative(相对定位)的图文讲解

    Position的属性值有:1.     Absolute:绝对定位,是相对于最近的且不是static定位的父元素来定位 2.     Fixed:绝对定位,是相对于浏览器窗口来定位的,是固定的,不会 ...