B3706 的题解

· · 题解

出题人题解,本题为 2023 年 2 月语言月赛 B 题。

题目大意

很好理解,先贴个题面

题目是说:有甲乙两个仓库,得知甲仓库货物的重量以及甲乙之间的关系。现有一辆承重有限的货车要运送完乙仓库的所有货物,求需要运多少次。

题目分析

小学数学题。

思路主要分为两步:首先求出乙仓库有多少升啤酒,再计算货车要运这些货物多少次。

第一步:甲原来有 x 升,如果甲给乙 z 升,则甲乙啤酒容量相等。显然答案就是 x - 2z

第二步:设乙仓库的升数为 y 众所周知,答案是 \left\lceil\dfrac{y}{c}\right\rceil ,幸运的是,ceil 函数正好可以承担这份责任,即 ceil(y / c)。

这题有一个坑点:要使用 long long!不使用 long long 只有 80 分!

核心代码:

y = x - 2 * z;
cout << ceil(y / c);

视频题解

完整代码请在视频中查看。