FATE

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 10003    Accepted Submission(s): 4730

Problem Description
最近xhd正在玩一款叫做FATE的游戏,为了得到极品装备,xhd在不停的杀怪做任务。久而久之xhd开始对杀怪产生的厌恶感,但又不得不通过杀怪来升完这最后一级。现在的问题是,xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗?
Input
输入数据有多组,对于每组数据第一行输入n,m,k,s(0 < n,m,k,s < 100)四个正整数。分别表示还需的经验值,保留的忍耐度,怪的种数和最多的杀怪数。接下来输入k行数据。每行数据输入两个正整数a,b(0 < a,b < 20);分别表示杀掉一只这种怪xhd会得到的经验值和会减掉的忍耐度。(每种怪都有无数个)
Output
输出升完这级还能保留的最大忍耐度,如果无法升完这级输出-1。
Sample Input
10 10 1 10 1 1 10 10 1 9 1 1 9 10 2 10 1 1 2 2
Sample Output
0 -1 1
Author
Xhd
完全背包,加上计数。
附代码:
#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int ans[220],cost[220],gain[220],num[220],i,j,k,l,m,n,t,tal,s,x,y;
int main()
{while(scanf("%d%d%d%d",&n,&m,&k,&s)!=EOF){memset(ans,0,sizeof(ans));memset(num,0,sizeof(num));for(i=1;i<=k;i++)scanf("%d%d",&gain[i],&cost[i]);for(i=1;i<=k;i++)for(j=cost[i];j<=m;j++)//完全背包 {if(ans[j]<ans[j-cost[i]]+gain[i]){ans[j]=ans[j-cost[i]]+gain[i];num[j]=num[j-1]+1;//这个加一加的好, }}int flag=0;for(j=1;j<=m;j++){if(ans[j]>=n&&num[j]<=s){flag=1;break;}}if(flag)printf("%d\n",m-j);elseprintf("-1\n");}return 0;
}

杭电2159FATE相关推荐

  1. 杭电2159-FATE (二维背包运用+详细解释)

    FATE Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  2. 【杭电ACM】1097 A hard puzzle

    [杭电ACM]1097  A hard puzzle http://acm.hdu.edu.cn/showproblem.php?pid=1097 先用int手写了算法结果竟然wrong answer ...

  3. 【ACM】杭电OJ 1106 函数atoi

    函数atoi是把字符串转化成整数的函数,头文件为 #include "stdlib.h" e.g. 运行环境:Dev-C++ 5.11 杭电1106 调用了sort函数,运行的时间 ...

  4. 【ACM】杭电OJ 2037

    题目链接:杭电OJ 2037 先把b[i]进行排序,然后,b[i]与a[i+1]进行比较. #include <iostream> #include <cstdio> #inc ...

  5. 【ACM】杭电OJ 2020(排序)

    题目链接:杭电OJ 2020 排序可以有冒泡排序,选择排序,或者直接调用函数. 下面是选择排序: #include <stdio.h> #include <math.h> in ...

  6. 【ACM】杭电OJ 2018

    题目链接:杭电OJ 2018 从n>4开始,每一年的牛的数量=前一年的牛的数量+三年前的牛的数量 问:为什么是三年前? 答:假设三年前有一头小牛出生,出生的那一年即为第一年,到了第四年,即三年后 ...

  7. 【ACM】杭电OJ 1005

     题目链接:杭电OJ 1005 超时代码如下(而且开辟的数组空间大小不够): #include <stdio.h> int m[100000]; int f(int n,int a,int ...

  8. 【ACM】杭电OJ 1004

     题目链接:杭电OJ 1004 运行环境:Dev-C++ 5.11 思路: 先把先把num数组全部赋值为1:第一个颜色单独输入,从第二个开始,需要与前面的进行比较,如果前面有相同的颜色,则在目前的nu ...

  9. 【ACM】杭电OJ 2012。

    题目链接:杭电OJ 2012 思路很简单,但是有一种高效算法显示编译错误,不知道为什么 运行环境:VS2017 AC代码: #include <stdio.h> #include < ...

最新文章

  1. 中国移动这个编程大赛来了!
  2. Visual Studio 15改进C++工程加载
  3. 汇编(8086cpu): ip寄存器与指令的关系
  4. 知识图谱( 知识图谱管理)
  5. AngularJS中自定义过滤器
  6. JavaScript程序员必备的5个debug技巧
  7. linux系统wget、curl终端命令行获取公网ip地址及其他网络信息
  8. SQL Server 2008存储结构之GAM、SGAM
  9. 带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用
  10. 建立ssh隧道_快速掌握 SSH 端口转发,助力远程工作
  11. Python学习笔记(五)--Python数据类型-数字及字符串
  12. 一文读懂量化系统接入及相关平台
  13. 两条边延长角会有什么变化_四年级上册数学计划
  14. 什么是Trunk端口模式?此模式有何作用?
  15. 关于ognl.OgnlException: target is null for setProperty(null的解决方案
  16. iOS sign in with Apple 苹果ID登录
  17. Hive 核心原理(hive-3.1.2)(转载)
  18. java实现excel导出功能
  19. PDF怎么转换成长图
  20. JAVA程序包装成桌面应用程序

热门文章

  1. 吴恩达深度学习5.2练习_Sequence Models_Operations on word vectors
  2. CSS-滤镜 -webkit-filter
  3. “安装程序无法定位现有系统分区,也无法创建新的系统分区”提示
  4. ExtAspNet公司项目截图
  5. 关于Java String对象创建问题解惑
  6. VC中树状控件(TreeCtrl)的用法
  7. 分枝定界法解0/1背包问题
  8. 利用vue-cli配合vue-router搭建一个完整的spa流程
  9. 【数据仓库】——星型模型和雪花模型
  10. php.ini设置详解