首页 > 其他 > 详细

[CF342C]Cupboard and Balloons 题解

时间:2019-07-13 16:28:37      阅读:133      评论:0      收藏:0      [点我收藏+]

前言

博主太弱了

题解

这道题目是一个简单的贪心。
首先毋庸置疑,柜子的下半部分是要放满的。
于是我们很容易想到,分以下三种情况考虑:
技术分享图片
\[\small\text{请不要盗图,如需使用联系博主}\]
我们考虑如何辨别情况,不妨设\(m\ \%\ r\)\(\ left\),如果\(left < \frac{r}{2}\),那么显然当前的情况是1;如果\(\frac{r}{2} \leq left<\frac{\sqrt{3}r}{2}\),那么显然当前的情况是2;如果\(\frac{\sqrt{3}r}{2} \leq left\)那么显然当前的情况是情况3。
那么实现起来就很简单了。
首先计算\(\frac{m}{r}\),然后对于情况几就加上几。

代码

#include <cstdio>
#include <cmath>

int main(){
    int r, h; scanf("%d %d", &r, &h);
    int lft = h % r, ans = (h / r) * 2 + 1;
    if (lft >= (double)(r) / 2.0 * sqrt(3)) ans += 2;
    else if (lft >= (double)(r) / 2) ++ans;
    printf("%d", ans);
    return 0;
}

[CF342C]Cupboard and Balloons 题解

原文:https://www.cnblogs.com/linzhengmin/p/11180938.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!