蓝桥杯小白入门赛第三场------蓝桥快打

文章讲述了小蓝作为计算机高手,在蓝桥快打游戏中,利用策略调整自己的攻击力,以最小幅度确保在知道对手信息时能赢得比赛的问题。关键在于利用向上取整公式计算出攻击次数,使小桥体力耗尽前自己先达到胜利条件。
摘要由CSDN通过智能技术生成

题目:

问题描述:
小蓝和小桥又在玩电动啦!
最近出了一款新的游戏,“蓝桥快打”。两位玩家分别控制一位格斗家,每个格斗家有两个属性:体力值和攻击力。
他们轮流攻击对方,小蓝先进行攻击,然后是小桥,然后轮到小蓝,以此类推。
每一次进行攻击,被攻击的一方都会减少体力值,减少的体力值等于攻击方的攻击力,当某一方的体力值小于等于0,那么游戏结束,体力值先小于等于0的一方输。
小蓝是一个计算机高手,他知道了小桥的体力值和攻击力,他决定调整自己的攻击力,以保证自己一定能赢,但是他又不想太明显,以至于被小桥发现,所以他决定调整自己的攻击力为保证自己一定能赢的最小值。
请你告诉他,应该将自己的攻击力调整为多少。
输入格式
输入包含多个测试组。
第一行输入一个整数T(1≤T≤104),表示测试组的数量。
接下来T行,每行输入三个整数,A,B,C (1≤ A, B, C ≤109),A为小蓝的体力值,B为小桥的体力值,C为小桥的攻击力。

样例: 

输入:
3
5 6 1

10 16 10

8 8 3

输出:

2
16

说明:
第一组样例,如果小蓝的攻击力为1,那么在轮流攻击5次后,就会输掉,所以最小是2。
第二组样例,小蓝必须一击必杀。 

 

代码如下:

#include<iostream>

using namespace std;
//这里要知道一个知识点是向上取整公式(x+y-1)/y;
//个人理解就是 x 里有多少个 y。
int main()
{
    int n;
    cin >> n;
    while(n--)
    {
        int a,b,c;
        cin >> a >> b >> c;
        int x = (a+c-1)/c; //求出小蓝能挺多少轮
        cout << (b+x-1) / x << endl; 
    }
    return 0;
}

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值