hdu 4950

#include<stdio.h>
int main(){
     __int64 h,a,b,k,j=0;
     while(scanf("%I64d%I64d%I64d%I64d",&h,&a,&b,&k),h||a||b||k) {
        printf("Case #%I64d: ",++j);
        if(h<a+1) {
            printf("YES\n");
            continue;
        }
        if(a<=b) {
            printf("NO\n");
            continue;
        }
        if((a-b)*k-b>0) {
            printf("YES\n");
            continue;
        }
        if(h-(a-b)*(k-1)-a<1) {
            printf("YES\n");
            continue;
        }
        printf("NO\n");
     }
return 0;
}

hdu 4950

时间: 2024-10-05 04:33:19

hdu 4950的相关文章

HDU 4950 Monster(公式)

HDU 4950 Monster 题目链接 题意:给定怪兽血量h,你攻击力a.怪物回血力b,你攻击k次要歇息一次,问是否能杀死怪兽 思路:签到题,注意最后一下假设打死了怪,那么怪就不会回血了 思路: #include <cstdio> #include <cstring> typedef long long ll; ll h, a, b, k; bool solve() { if (a >= h) return true; if (b >= a) return fals

2014多校联合八(HDU 4945 HDU 4946 HDU 4948 HDU 4950 HDU 4951 HDU 4952)

HDU 4945 2048 题意:给你一堆数字  问有几个子集可以拼出2048 思路: 拼数字的规则相当于让数字乘二  所以不是2^i的数字不会拼出2048  那么这些数可选可不选  即为2^cnt种可能 之后只要计算出有几个子集不可能拼出2048即可  不过简单的直接dp是2048*100000的复杂度的  会TLE 所以要变成先枚举元素  再枚举该种元素个数  再枚举2048种状态  然后利用组合求(组合里需要逆元) 为什么这样快?  因为比如枚举2^5这个元素的时候  最多取2^6个  枚

hdu 4950 Monster

Monster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 590    Accepted Submission(s): 238 Problem Description Teacher Mai has a kingdom. A monster has invaded this kingdom, and Teacher Mai wan

hdu 4950 Monster(数学题,多校8)

题目链接:pid=4950http://acm.hdu.edu.cn/showproblem.php?pid=4950">http://acm.hdu.edu.cn/showproblem.php?pid=4950 Monster Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 220    Accepted Submission

HDU 4950 Monster (贪心算法)

题目链接 题意:有一个怪物的血量为h,人攻击怪物,每回合可以杀掉a滴血,再回b滴血,k个回合之后人会休息一回合,即人不攻击而怪物回b滴血,问能否杀死.翻译过来就是给定一个数h,每轮可以先减a再加b,k轮后会有一轮只加b不减a,如果再这过程中存在h<=0就输出YES,否则输出NO. 题解:注意是先减a再加b,有可能不加b就已经h<=0,先分类讨论ab,如果a比b大那么只有可能第一回合杀死,一旦+b就不可能在杀死了,如果a比b小,讨论在经过k-1轮后第k轮只减不加能否<=0,再讨论k+1轮的

多校比赛第九场

hdu 4950 Monster 题意好简单,队友说要用线段树做,要不然会TLE,连树状数组也会T.我说让我试试树状数组,结果搞了一个 小时左右用树状数组给搞出来了,嘿嘿.用了树状数组区间更新. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define maxn 100010 using namespace std; __int64 a[maxn],c[

HDU 5968:异或密码(暴力)

http://acm.hdu.edu.cn/showproblem.php?pid=5968 题意:中文题意. 思路:一开始不会做,后来发现数据范围很小,而且那个数要是连续的,所以可能把所有情况枚举出来很小吧.打了个表发现 100 只有 4950 个,然后直接暴力枚举每一种情况,放在Hash里面标记是否出现过这个数,再弄一个len数组放置每一种情况长度,然后对答案分别向左和向右找最长的长度就好了. 1 #include <cstdio> 2 #include <cstring> 3

hdu 4951

Multiplication table Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 435    Accepted Submission(s): 204 Problem Description Teacher Mai has a multiplication table in base p.   For example, the

HDU 6203 ping ping ping [LCA,贪心,DFS序,BIT(树状数组)]

题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=6203] 题意 :给出一棵树,如果(a,b)路径上有坏点,那么(a,b)之间不联通,给出一些不联通的点对,然后判断最少有多少个坏点. 题解 :求每个点对的LCA,然后根据LCA的深度排序.从LCA最深的点对开始,如果a或者b点已经有点被标记了,那么continue,否者标记(a,b)LCA的子树每个顶点加1. #include<Bits/stdc++.h> using namespace std;