hdu4950 打怪(简单题目)
生活随笔
收集整理的這篇文章主要介紹了
hdu4950 打怪(简单题目)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題意:
? ? ? 打怪,一開(kāi)始怪有h滴血,每回合可以讓對(duì)方減少a滴血,每次打完之后怪會(huì)恢復(fù)b滴血,每連續(xù)k回合之后自己會(huì)休息一回合,這一回合怪物依然回血,問(wèn)是否可以把怪打死。
思路:
? ? ?比較好想,如果把怪打死就三種情況,1上來(lái)一擊打死,2在k回合之內(nèi)打死,3在k回合之后打死了,如果是1的話(huà),直接看看自己的攻擊力是不是可以一擊殺死就行了a>=h一擊殺死,2的話(huà)有一個(gè)細(xì)節(jié)要注意就是在殺死的時(shí)候?qū)Ψ绞窍缺粴⑺篮蠡匮?#xff0c;所以k回合之內(nèi)的最大傷害是(a-b)* (k - 1) + a ,如果最大傷害大于等于h那么就能在休息前打死,對(duì)于3,是長(zhǎng)久戰(zhàn),我們一個(gè)完整的回合的"純收入"是(a-b)* k - b,
? ? ? 打怪,一開(kāi)始怪有h滴血,每回合可以讓對(duì)方減少a滴血,每次打完之后怪會(huì)恢復(fù)b滴血,每連續(xù)k回合之后自己會(huì)休息一回合,這一回合怪物依然回血,問(wèn)是否可以把怪打死。
思路:
? ? ?比較好想,如果把怪打死就三種情況,1上來(lái)一擊打死,2在k回合之內(nèi)打死,3在k回合之后打死了,如果是1的話(huà),直接看看自己的攻擊力是不是可以一擊殺死就行了a>=h一擊殺死,2的話(huà)有一個(gè)細(xì)節(jié)要注意就是在殺死的時(shí)候?qū)Ψ绞窍缺粴⑺篮蠡匮?#xff0c;所以k回合之內(nèi)的最大傷害是(a-b)* (k - 1) + a ,如果最大傷害大于等于h那么就能在休息前打死,對(duì)于3,是長(zhǎng)久戰(zhàn),我們一個(gè)完整的回合的"純收入"是(a-b)* k - b,
如果大于0,那么早晚可以把怪物打死,如果三種都不滿(mǎn)足,那么就打不死了。
#include<stdio.h> int main () {__int64 h ,a ,b ,k;int cas = 1;while(~scanf("%I64d %I64d %I64d %I64d" ,&h ,&a ,&b ,&k) && h + a + b + k){if(a >= h)//一擊干死 {printf("Case #%d: YES\n" ,cas ++);continue;}if((a - b) * (k - 1) + a >= h){printf("Case #%d: YES\n" ,cas ++);continue;}if((a-b) * k - b > 0){printf("Case #%d: YES\n" ,cas ++);continue;} printf("Case #%d: NO\n" ,cas ++);}return 0; }
總結(jié)
以上是生活随笔為你收集整理的hdu4950 打怪(简单题目)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hdu4941 map交换行列
- 下一篇: hdu4971 流-最大权闭包