5277:王者荣耀

5277:王者荣耀

描述:
老胡编程玩累了,想打一盘王者荣耀来放松放松,顺便还带了个妹子,本来他想在妹子面前秀一波操作,没想到他竟然......,竟然超鬼了0.0,一顿操作猛如虎,一看战绩0-5! 为了挽回面子他决定去偷塔,已知老胡的初始等级为1级,攻击力为30,每升一级攻击力加5(最高15级);现在防御塔有m滴血量,老胡每攻击k次升一级(如果老胡的攻击力为H,打防御塔一次,搭掉的血也是H, 当防御塔的血等于0时,就视为被推掉了)。

问题:
问老胡要攻击多少次才可以把防御塔推掉?

输入:

第一行输入一个整数T,表示测试样例的个数;每个测试样例输入一行,包括m( 0≤ m ≤ 105), k(1 ≤ k ≤ 105); 中间用一个空格隔开。

输出:

组测试样例输出一行,包含一个数老胡推掉防御塔所需攻击的次数。

样式输入:

2
0 10
61 2

样式输出:

0
3

源代码:

#include <iostream>
using namespace std;
int main(){
	int n,m,k,s,dps,level;
	cin>>n;
	while(n--){
		cin>>m>>k;
		s=0,level=1,dps=30;//循环内数据初始化
		while(m>0){//推塔成功条件
			m-=dps;
			++s;
			if(s%k==0){//每隔k次等级+1
				if(level<15){// !!!等级临界条件
					level+=1;
					dps+=5;
				}
			}
		}
		cout<<s<<endl;
	}
	return 0;
}
上一篇:2021-12-22_学习B站Java基础视频_IO流(列出目录下所有内容-递归-带层次)


下一篇:XSS-LABS