程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> BZOJ 3856 Monster C++語言入門題

BZOJ 3856 Monster C++語言入門題

編輯:關於C++

題目大意:給出怪物的血量,人物的攻擊力,怪物每回合回血的能力,和人物幾回合需要休息一次,問人物能否打敗怪物。


思路:只需要簡單的幾個判斷,不要漏掉情況即可。

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");
	}
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved