您的位置:首页 > 新闻 > 热点要闻 > 网站建设资料清单_昆明网页重做_关键词挖掘工具_武汉seo创造者

网站建设资料清单_昆明网页重做_关键词挖掘工具_武汉seo创造者

2025/1/4 17:12:52 来源:https://blog.csdn.net/GRrtx/article/details/143113059  浏览:    关键词:网站建设资料清单_昆明网页重做_关键词挖掘工具_武汉seo创造者
网站建设资料清单_昆明网页重做_关键词挖掘工具_武汉seo创造者

目录

牛客_打怪_模拟

​编辑

题目解析

C++代码

Java代码


牛客_打怪_模拟

打怪 (nowcoder.com)

描述:

        你是一个勇士,现在你准备去森林刷毛球怪,你有两个属性(血量,攻击力),毛球怪也有这两个属性。当你遭遇一只毛球怪时你们会进入战斗,然后你和毛球怪轮流攻击(你先手),每次使对方的血量减去自己攻击力的数值,当一方的血量小于等于 0 时死亡。现在你想知道在自己活着的前提下最多杀死几只毛球怪。


题目解析

        计算你需要打一只羽毛球 k 次他才会死,计算你每杀一只羽毛球怪所消耗的血量base,由于你先手你所扣的血量为你攻击羽毛球怪的次数 (k - 1)*A 。若消耗的血量为0,则输出"-1",否则输出(h - 1) / res,这里-1是代表给你留了一滴血活到最后。

C++代码1

#include <iostream>
using namespace std;
int main()
{int t = 0;cin >> t;while(t--){int h = 0, a = 0, H = 0, A = 0;cin >> h >> a >> H >> A; // 血量攻击力 血量攻击力int res = 0;int tmp = H;while(h > 0){// cout << h << " " << a << " " << tmp << " " << A << " res " << res << endl;if(A <= 0 || H <= a){res = -1;break;}if(a <= 0){res = 0;break;}tmp -= a;if(tmp <= 0){++res;tmp = H;continue;}h -= A;}cout << res << endl;}return 0;
}

C++代码2

#include <iostream>
using namespace std;
int t;
int h, a, H, A;
int fun()
{if(a >= H)return -1;int m = (H / a) + (H % a != 0 ? 1 : 0); // 怪物能抗⼏次int n = m - 1; // 玩家被攻击⼏次int x = n * A; // 杀死⼀只怪物的时候,玩家会掉多少⾎int ret = h / x - (h % x == 0 ? 1 : 0);return ret;
}
int main()
{cin >> t;while(t--){cin >> h >> a >> H >> A;cout << fun() << endl;}return 0;
}

Java代码

import java.util.Scanner;
public class Main
{public static void main(String[] args){Scanner in = new Scanner(System.in);int t = in.nextInt();int h, a, H, A;while(t-- != 0){h = in.nextInt();a = in.nextInt();H = in.nextInt();A = in.nextInt();if(a >= H){System.out.println(-1);}else{int m = H / a + (H % a != 0 ? 1 : 0); // 怪物能抗⼀下int n = m - 1; // 杀死⼀只怪物的时候,玩家被攻击⼏下int x = n * A; // 杀死⼀只怪物的时候,玩家掉的⾎量int ret = h / x - (h % x == 0 ? 1 : 0);System.out.println(ret);}}}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com