HDU 4798 - Skycity
2016-07-18 22:12
459 查看
告诉你一幢楼的高度,楼的层数,每层一样高。
每一层的底边是一个圆,下一层的玻璃一定要包括进上一层的底边。
每层玻璃铺成棱柱形,玻璃有最小面积限制。
问你这层楼最小的总玻璃数是多少。
求出每层最小的玻璃块数,然后直接计算即可。
每一层的底边是一个圆,下一层的玻璃一定要包括进上一层的底边。
每层玻璃铺成棱柱形,玻璃有最小面积限制。
问你这层楼最小的总玻璃数是多少。
求出每层最小的玻璃块数,然后直接计算即可。
#include <iostream> #include <cstdio> #include <cmath> using namespace std; const double PI=4*atan(1); int F; double R,r,H,s; double r1,r0,h,ans; double cal(int x,double rr) { return 2.0*rr*tan(PI/x)*h; } double div2(double rr) { int l=3,r=1e6,mid; while(l<=r) { mid=(l+r)>>1; if(cal(mid,rr)>s-1e-8) l=mid+1; else r=mid-1; } return cal(l-1,rr)*(l-1); } int main() { while(~scanf("%lf%lf%lf%d%lf",&R,&r,&H,&F,&s)) { r0=(R-r)*1.0/F; h=H*1.0/F; ans=0; for(int i=0;i<F;i++) { ans+=div2(r+r0*i); } printf("%.3f\n",ans); } }
相关文章推荐
- JAVAWEB其他知识
- MeasureSpec.UNSPECIFIED, MeasureSpec.EXACTLY, MeasureSpec.AT_MOST
- 从网络获取文件
- 面试,学会这些就足够啦!!!
- 洛谷P1522 牛的旅行
- LA-3716(sort的神用)
- 地球实时卫星图片资源-与当前时间只相差30分钟
- jquery父子隶属关系
- JSP
- 功能类:一个微信小视频的录制类与播放类
- jvm垃圾收集器配置-2
- Hadoop常用命令(三)
- Redis--分布式锁
- 正则表达的应用及优化
- 修改jar的办法
- 类继承、虚继承
- 开灯问题
- window下MySQL5.7.zip服务配置
- Servlet学习(三)doGet与doPost
- 一起来点React Native