【题目描述】

宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事。

一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵。小智也想收服其中的一些小精灵。然而,野生的小精灵并不那么容易被收服。对于每一个野生小精灵而言,小智可能需要使用很多个精灵球才能收服它,而在收服过程中,野生小精灵也会对皮卡丘造成一定的伤害(从而减少皮卡丘的体力)。当皮卡丘的体力小于等于0时,小智就必须结束狩猎(因为他需要给皮卡丘疗伤),而使得皮卡丘体力小于等于0的野生小精灵也不会被小智收服。当小智的精灵球用完时,狩猎也宣告结束。

我们假设小智遇到野生小精灵时有两个选择:收服它,或者离开它。如果小智选择了收服,那么一定会扔出能够收服该小精灵的精灵球,而皮卡丘也一定会受到相应的伤害;如果选择离开它,那么小智不会损失精灵球,皮卡丘也不会损失体力。

小智的目标有两个:主要目标是收服尽可能多的野生小精灵;如果可以收服的小精灵数量一样,小智希望皮卡丘受到的伤害越小(剩余体力越大),因为他们还要继续冒险。

现在已知小智的精灵球数量和皮卡丘的初始体力,已知每一个小精灵需要的用于收服的精灵球数目和它在被收服过程中会对皮卡丘造成的伤害数目。请问,小智该如何选择收服哪些小精灵以达到他的目标呢?

【输入】

输入数据的第一行包含三个整数:N(0<N<1000),M(0<M<500),K(0<K<100),分别代表小智的精灵球数量、皮卡丘初始的体力值、野生小精灵的数量。

之后的K行,每一行代表一个野生小精灵,包括两个整数:收服该小精灵需要的精灵球的数量,以及收服过程中对皮卡丘造成的伤害。

【输出】

输出为一行,包含两个整数:C,R,分别表示最多收服C个小精灵,以及收服C个小精灵时皮卡丘的剩余体力值最多为R。

【输入样例】

10 100 5
7 10
2 40
2 50
1 20
4 20

【输出样例】

3 30

【源程序】

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<cstdlib>
#include<queue>
#include<vector>
#define INF 0x3f3f3f3f
#define PI acos(-1.0)
#define N 1001
#define MOD 2520
#define E 1e-12
using namespace std;
int V,U,n;
int v[N],u[N],f[N][N];
void TwoDimensionPack(int weight_1,int weight_2)
{for(int j=V;j>=weight_1;j--)for(int k=U;k>=weight_2;k--)f[j][k]=max(f[j][k],f[j-weight_1][k-weight_2]+1);
}
int main()
{cin>>V>>U>>n;for(int i=1;i<=n;i++)cin>>v[i]>>u[i];for(int i=0;i<=V;i++)//边界设定for(int j=0;j<=U;j++)f[i][j]=0;for(int i=1;i<=n;i++)TwoDimensionPack(v[i],u[i]);int cnt=0;for(int i=1;i<=U;i++){if(f[V][i]==f[V][U]){cnt=i;break;}}cout<<f[V][U]<<" "<<U-cnt<<endl;return 0;
}

宠物小精灵之收服(信息学奥赛一本通-T1292)相关推荐

  1. 《信息学奥赛一本通》宠物小精灵之收服

    题目链接: 1022. 宠物小精灵之收服 - AcWing题库 宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事.一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵.小智也想收 ...

  2. T1292:宠物小精灵之收服

    宠物小精灵之收服 宠物小精灵是一部讲述小智和他的搭档皮卡丘一起冒险的故事.一天,小智和皮卡丘来到了小精灵狩猎场,里面有很多珍贵的野生宠物小精灵.小智也想收服其中的一些小精灵.然而,野生的小精灵并不那么 ...

  3. 信息学奥赛一本通 (C++)上机练习

    信息学奥赛一本通(C++)上机练习 此书为娃儿的第一本刷题书.娃儿现在四年级 ,希望他能坚持下来.特开贴加油 luogu: disangan223 第一部分 C++语言 第一章 C++语言入门 T10 ...

  4. 信息学奥赛一本通(基础算法与数据结构-题解汇总目录)

    信息学奥赛一本通(C++版)在线评测系统 基础(二)基础算法   更新中...... 第一章高精度计算 1307[例1.3]高精度乘法 1308[例1.5]高精除 1309[例1.6]回文数(Noip ...

  5. 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划

    总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716 信息学奥赛一本通(C++版) 第二部分 基础算法 第九章 动态规划 第一节 动 ...

  6. 信息学奥赛一本通 题解目录

    刷题 很全的知识体系 转载:https://blog.csdn.net/u011815404/article/details/79324003 第一部分 C++语言 第一章 C++语言入门 T1001 ...

  7. 信息学奥赛一本通_长乐一中老师演绎“奥赛传奇”

    董永建(右一)在课堂上. 台海网5月14日讯 据福州晚报报道,长乐一中有一位"传奇"老师--15年来,他辅导的学生在全国高中生信息学奥赛中获金牌3人次.银牌3人次.铜牌5人次:在全 ...

  8. 1022. 宠物小精灵之收服

    1022. 宠物小精灵之收服 题意: 现在有n个胶囊,m个生命值,k个怪物,每个怪物需要a[i]个胶囊,且会造成b[i]个伤害后才能捕获,问在活着的前提下,最多捕获多少怪物,在怪物最多的情况下剩余生命 ...

  9. 信息学奥赛一本通 提高篇 第5章 矩阵乘法

    例1 矩阵AXB 信息学奥赛一本通(C++版)在线评测系统 [矩阵乘法]矩阵A×B_Uletay-CSDN博客 矩阵乘法--矩阵A×B_vina的博客-CSDN博客 一本通1641[例 1]矩阵 A× ...

最新文章

  1. 【原】display:inline-block下的IE元素
  2. 插入最快mysql8.0_MySQL8.0大表秒加字段,是真的吗?
  3. TF之DD:利用Inception模型+GD算法生成带背景的大尺寸、高质量的Deep Dream图片
  4. 【链表】BZOJ1588: [HNOI2002]营业额统计
  5. 3台廉价机器每秒写入2百万!Kafka为什么那么快?
  6. Java从控制台中读取数据完全攻略
  7. [BZOJ 3236] [Ahoi2013] 作业 [BZOJ 3809] 【莫队(+分块)】
  8. SpringBoot 数据篇之使用JDBC
  9. Tomcat,出现乱码问题
  10. Android系统Camera录像过程分析
  11. 锂电池 保护板方案 中颖SH367309方案 原理图 PCB 源代码
  12. jsp+sql智能道路交通信息管理系统的设计与实现(论文+系统+开题报告+答辩PPT+外文翻译)
  13. 无法使用以下不同的参数继承com.baomidou.mybatisplus.extension.service.IService: <> 和 <com.itheima.rijidao.en
  14. [句型] 二十六、特殊疑问句 3
  15. sin和soi区别_FinFET和FD SOI的比较?
  16. 利用LightGBM实现天气变化的时间序列预测
  17. iOS GIF图片分解保存单张图片
  18. 直流电机_脉宽调制调速(PWM)
  19. MySQL 数据库平滑扩容的6 种方案剖析
  20. python odoo word模板上下标问题

热门文章

  1. 39个史诗级奇葩代码注释,程序不会崩,但程序员会
  2. FreeRTOS调度器挂起与解除
  3. 动态生成类_springboot动态生成类属性
  4. python实现简易聊天需要登录博客园zip下载_Python基于Socket实现简易多人聊天室的示例代码...
  5. 官方确认:新增一所“双一流”大学
  6. 开发者供不应求,垃圾项目在去年已造成2.1万亿美元损失
  7. 架构专家梁勇:哈啰在分布式消息治理和微服务治理中的实践
  8. 关于Jeecg互联网化dubbo改造方案(上)
  9. iBATIS sql中的处理特殊符号的做法
  10. PyTorch【torchvision】