HDU 4798 Skycity【几何】
来源:互联网 发布:javascript怎么读 编辑:程序博客网 时间:2024/06/09 19:24
题目链接
题意:有个圆台型建筑物,最上面的圆的半径是r,最下面的圆的半径是R,高度为H,有F层,现在给每层的四周贴玻璃,要贴成正多边形的玻璃,且每块玻璃的面积不能小于S。求玻璃的总的最小面积。
首先玻璃的长度越小肯定总面积越小,而每层的高度可以算出来,所以最小的长度可以知道。通过几何可以算出需要多少块玻璃。但是由于不一定能整除,块数n会偏小,所以要再从n倒推真正的玻璃长度,从而算出答案。还有一个要注意的地方就是它是绕着天花板贴的。
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const double pi = acos(-1);double R, r, H, F, S;double cal(double r, double h){ int n = pi / atan(S / (2 * r * h)); return 2 * n * r * tan(pi / n);}int main(){ while (scanf("%lf %lf %lf %lf %lf", &R, &r, &H, &F, &S) != EOF) { double h = H / F; double ans = 0.0; // ans += h * cal(R, h);绕着天花板贴的 ans += h * cal(r, h); for (double i = 1; i <= F - 1; i++) { double x = (R - r) * i / F + r; ans += cal(x, h) * h; } printf("%.3f\n", ans); }}
阅读全文
0 0
- HDU 4798 Skycity【几何】
- hdu 4798 Skycity(几何)
- HDU 4798 Skycity(计算几何)
- HDU 4798 Skycity【计算机几何】【阅读题】
- HDU 4793 Collision + HDU 4798 Skycity 简单几何
- HDU 4798 Skycity
- HDU 4798 Skycity (计算几何+推公式) 2013 Asia Changsha Regional Contest
- Skycity
- zoj 3733 (hdu 4798) Skycity (2013 亚洲区域赛 长沙站 H)
- ZOJ3733 Skycity
- HDU 4798 计算几何 解题报告
- hdu 3952 计算几何
- 【几何模拟】hdu 3286
- HDU 3694计算几何
- hdu 4195#计算几何
- hdu 4353 计算几何
- 【hdu】 TOYS 几何
- 【hdu】 Toy Storage 几何
- -bash:ls:command not found,执行命令总是报找不到
- Java的volatile关键字解析
- AppCrawler学习与使用
- 求x的n次幂算法Pow(x, n)
- HDU 2966 In case of failure 基础KD树
- HDU 4798 Skycity【几何】
- UVALive
- docker安装centos后没有ifconfig命令解决办法
- LaTex入门学习!(Updating)
- 关于百度推送10101错误码的解决
- Android Toast在子线程中为什么无法正常使用
- 相关滤波、KCF、循环对角化
- Android旧项目集成React Native简易流程
- SpringMVC日期类型转换问题的几种处理方法