题目:

Monster

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 198    Accepted Submission(s): 81

Problem Description
Teacher Mai has a kingdom. A monster has invaded this kingdom, and Teacher Mai wants to kill it.

Monster initially has h HP. And it will die if HP is less than 1.

Teacher Mai and monster take turns to do their action. In one round, Teacher Mai can attack the monster so that the HP of the monster will be reduced by a. At the end of this round, the HP of monster will be increased by b.

After k consecutive round's attack, Teacher Mai must take a rest in this round. However, he can also choose to take a rest in any round.

Output "YES" if Teacher Mai can kill this monster, else output "NO".

Input
There are multiple test cases, terminated by a line "0 0 0 0".

For each test case, the first line contains four integers h,a,b,k(1<=h,a,b,k <=10^9).

Output
For each case, output "Case #k: " first, where k is the case number counting from 1. Then output "YES" if Teacher Mai can kill this monster, else output "NO".
Sample Input
5 3 2 2 0 0 0 0
Sample Output
Case #1: NO
传送门:点击打开链接

解题思路:

如果a>=h,直接可以打死怪兽,否则,只有在第k次打死怪兽或者是没k+1次都可以对怪兽造成伤害,才能打死怪兽。

代码:

#include <cstdio>
#include <cstring>typedef long long lint;int  main()
{int h, a, b, k, icase = 1;while(~scanf("%d%d%d%d", &h, &a, &b, &k)){if(0==h && 0==a && 0== b && 0==k)break;bool flag = false;if(a >= h) flag = true;else{lint t = 1ll*h - 1ll*(k-1)*(a-b) - 1ll*a;if(t <= 0) flag = true;t = 1ll*a*k - 1ll*b*(k+1);if(t > 0) flag = true;}printf("Case #%d: %s\n", icase++, flag ? "YES" : "NO");}return 0;
}

HDOJ 4950 Monster相关推荐

  1. HDU 4950 Monster

    题目链接 题意:有一个怪物的血量为h,人攻击怪物,每回合可以杀掉a滴血,再回b滴血,k个回合之后人会休息一回合,即人不攻击而怪物回b滴血,问能否杀死.翻译过来就是给定一个数h,每轮可以先减a再加b,k ...

  2. 前端程序员常用的9大构建工具

    构建工具是一个把源代码生成可执行应用程序的过程自动化的程序(例如Android app生成apk).构建包括编译.连接跟把代码打包成可用的或可执行的形式. 在小型项目中,开发者往往手动调用构建过程,这 ...

  3. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  4. 【HDOJ 3652】B-number

    [HDOJ 3652]B-number 给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化! . 一入记忆化深似海. ..再也不想用递推了...发现真的非常好想 仅仅要保证满 ...

  5. 【HDOJ】4343 Interval query

    最大不相交集合的数量. 思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界. 离散化后,通过贪心解. 1 /* 4343 */ 2 #include <iostream&g ...

  6. 【HDOJ】4579 Random Walk

    1. 题目描述 一个人沿着一条长度为n个链行走,给出了每秒钟由i到j的概率($i,j \in [1,n]$).求从1开始走到n个时间的期望. 2. 基本思路 显然是个DP.公式推导也相当容易.不妨设$ ...

  7. DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE

    Windows Mobile 5 和 6的平台是建立在CE5.x的基础上的.当可用的内存很少时,平台会自动关闭应用程序.而且,在这个移动平台上,同时只能运行32个process.在桌面电脑上,我们有4 ...

  8. AC自动机 HDOJ 5384 Danganronpa

    题目传送门 1 /* 2 题意:多个文本串,多个模式串在每个文本串出现的次数 3 AC自动机:这就是一道模板题,杭电有道类似的题目 4 */ 5 /************************** ...

  9. 构造 HDOJ 5400 Arithmetic Sequence

    题目传送门 题意:问有多少个区间,其中存在j使得ai + d1 == ai+1(i<j) && ai + d2 == ai+1 (i>j) 构造:用c1[i], c2[i] ...

最新文章

  1. 【java】兴唐第十节课知识点总结
  2. 安卓 onTouch OnTouchEvent onChick 顺序
  3. 北京理工大学python系列课程-北理工《Python语言程序设计》荣获中国最美慕课一等奖...
  4. 生产环境中配置的samba
  5. 【进阶1-3期】JavaScript深入之内存空间详细图解
  6. 【线上分享】WebRTC传输与服务质量
  7. oracle 10.2 连接超时,debian9 python3.6连接oracle10.2
  8. mysql3.5 所有表_mysql学习笔记3.5
  9. RocketMQ(七)——消息的消费
  10. bat自动输入密码登录_【第7期】Teamcenter自动登录改进,对portal.bat中登录密码加密...
  11. HarmonyOS 编译系统源码
  12. 华为OJ 扑克牌大小
  13. python爬取视频代码
  14. APP测试点(思维导图)
  15. 华为自动生成html文件夹,华为手机怎么建桌面文件夹
  16. 洛谷P3373 【模板】线段树 2
  17. 粉丝看了教程成功发文章了,恭喜一下,并说下近期计划
  18. 实践一:mipsel-栈溢出漏洞_开启telnet服务_反弹shell
  19. 提取PDF文件里面的图片
  20. 使用绝热演化/量子退火算法求解矩阵本征态

热门文章

  1. Tomcat进程占用CPU过高怎么办?
  2. 西门子PLC 1214和多台G120西门子变频器Modbud RTU通讯
  3. 【scala安装Windows】
  4. LATEX以及宏包的下载和安装(附下载链接)
  5. 【转】《致新员工书》
  6. Matlab高光谱遥感、数据处理与混合像元分解及典型案例
  7. agilent3070 中 analog测试程序的写法
  8. 中登公司统计数据好像有问题,看不懂。
  9. C/C++FPS实战CSGO矩阵方框透视骨骼自瞄实战教程
  10. 力扣算法学习(十四)