题解 CF1065A 【Vasya and Chocolate】
TRZ_2007
2020-10-24 10:46:32
**题目传送门:[CF1065A Vasya and Chocolate](https://www.luogu.com.cn/problem/CF1065A)**
# Description
给你 $t$ 组数据,每组数据给出四个整数 $a$,$b$,$c$,$s$ ,表示你有 $s$ 块钱,每个物品都需要 $c$ 块钱,买的物品每大于等于一次 $a$ 就可以免费获得 $b$ 个物品,求得到的物品数。
# Solution
~~这明明是小学奥数好吧~~……
我们记 $x$ 为不使用优惠可以买到的物品数量,则易得:$x = \frac{s}{c}$ ,然后我们计算出你可以使用优惠的次数为 $\frac{x}{a}$ ,能免费获得的物品数即为 $\frac{x}{a} \times b$ ,最后相加即可。
# Code
```cpp
#include <bits/stdc++.h>
using namespace std;
int t;
long long s,a,b,c,sum,dieta; //注意要开long long
int main() {
scanf("%d",&t);
while(t--) {
scanf("%lld %lld %lld %lld",&s,&a,&b,&c);
sum = s / c; //不使用优惠得到的物品数
dieta = (sum / a) * b; //使用优惠后免费得到的物品数
printf("%lld\n",sum + dieta); //相加即可出答案
}
return 0;
}
```