Advertisement

上海计算机学会2024年11月月赛C++丙组T2大胃王

阅读量:

大胃王

内存限制: 512 Mb时间限制: 1000 ms

题目描述

Bob 的同事向他发起"大胃王"挑战:"如果你们两人吃下了超过 x 个包子,则每人再多吃一个时我会奖给你们每人5元。"

例如,如果 x=5 且 Bob 吃了 8 个包子,那么他会收到 15 元,因为他吃了 3 个额外的包子。

你知道在包子店里每个笼子里包含 y 个包子吗?同时也明白鲍勃最终从同事那里领到了 r 元,请问他最多可以购买多少笼包子?

Bob 不会因为吃掉了整批包子而不去点下一笼;也许他会因为吃了整批而选择不再点了。

输入格式

第一行一个整数 T 表示数据组数。

接下来 T 行,每行三个整数 x,y,r,含义如题。

输出格式

共 TT 行,每行一个整数表示答案。

数据范围

对于 30% 的数据,T=1,x≤10,y=1。

对于 60% 的数据,T=1,x≤10。

对于 100% 的数据,1≤T≤10^4,1≤x≤100,1≤y≤10,0≤r≤5000 且保证 r 是 5 的倍数。

样例数据

对于第一组测试用例而言:
鲍勃获得了五元人民币。
这表明他多吃了十个包子,
总数达到了十一个包子,
每个笼子里只包含一个包子,
因此鲍勃最多选择了十一笼包子。

对于第二组测试用例而言:
收到十元钱后,
鲍勃选择了十个一元面值的钞票,
最终获得了五个一元面值的钞票,
这表示他多获得了一个面额较小的钞票。

对于第三组测试用例而言:
收到十元整存入后,
鲍勃选择了两个五千元面值的存单,
最终获得了五千三百元整存入账户中。

对于第四组测试用例而言:
收到一百元整存入后,
鲍勃选择了两个五千元面值的存单,
最终获得了五千四百元整存入账户中。

对于第五组测试用例而言:
收到一百元整存入后,
鲍勃选择了两个五千元面值的存单,
最终获得了五千四百元整存入账户中。

对于第六组测试用例而言:
收到一百元整存入后,
鲍勃选择了两个五千元面值的存单,
最终获得了五千四百元整存入账户中。

解析:先计算吃的包子数量 r/5+x,然后计算笼数,注意要向上取整,详见代码:

复制代码
 #include <bits/stdc++.h>

    
 using namespace std;
    
 int main() {
    
     int t, x, y, r;
    
     cin >> t;
    
     while (t--) {
    
     cin >> x >> y >> r;
    
     cout << ceil(double(x + r / 5) / y) << "\n";
    
     }
    
     return 0;
    
 }

全部评论 (0)

还没有任何评论哟~