題目大意:給出怪物的血量,人物的攻擊力,怪物每回合回血的能力,和人物幾回合需要休息一次,問人物能否打敗怪物。
思路:只需要簡單的幾個判斷,不要漏掉情況即可。
1.摸怪物一下他就死了,那麼他就死了。
2.一個完整的回合之後怪物處於費血狀態,那麼說明經過足夠長的時間之後,怪物肯定會死。
3.在第一回合中,人物進行k次攻擊,怪物回k-1次血的時候看能不能打死怪物,如果能,那麼他肯定會死。
剩下的情況人物不會打敗怪物。
CODE:
#include#include #include #include using namespace std; int h,a,b,k; int main() { while(scanf("%d%d%d%d",&h,&a,&b,&k),h + a + b + k) { static int T = 0; printf("Case #%d: ",++T); if(h - a <= 0) puts("YES"); else if((long long)k * a > (long long)(k + 1) * b) puts("YES"); else if((long long)k * a >= (long long)(k - 1) * b + h) puts("YES"); else puts("NO"); } }