这。。。水题。可惜坑了无数发。

显然对于当前的半径的园,多边形的边数越多,周长越短,面积也就越小。

一开始我是用二分去做的,事实证明也是可以的,只是我坑了。

其实没必要去用二分哦,这样来考虑这问题。

每次我都用最短允许的边与圆相切,看看这条边所占的角度有多大,这样就可以直接得出多少边形了。。。。(神坑吧)

接下来直接根据边数算出面积,就得答案了。   这才是真正的全场最水题啊。。。。。啊啊。。嗄。 吖a.a..。 阿。。

精度问题也都不用考虑。。。。。

#include <cstdio>
#include <cmath>
using namespace std;
const double full=*acos(-1.0); double R,r,H,S,ang,l,h,ans,cur,len,dr;
int n,F; int main()
{
while (scanf("%lf%lf%lf%d%lf",&R,&r,&H,&F,&S)!=EOF)
{
h=H/F,ans=,cur=r,dr=(R-r)/F,l=S/h;
while (F--)
{
ang=*atan(l/(*cur));
n=(int)(full/ang);
ans+=tan(full/(*n))*cur**n;
cur+=dr;
}
printf("%.3f\n",ans*h);
}
return ;
}

ZOJ3733_Skycity的更多相关文章

随机推荐

  1. Zabbix实战-简易教程--订阅类

    一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务 ...

  2. node.js学习笔记(一)——创建第一个应用

    巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后, ...

  3. Open-Drain&Push-Pull

    在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull).对此两种模式,有何区别和联系 ...

  4. 6.把建模工具导出的dea文件导入到three.js程序中

    1.使用Three.js渲染导出的DAE 在Three.js中使用Collada(即.dae)文件的话,首先得要用到 ColladaLoader.js. 但是这个ColladaLoader.js并不包 ...

  5. gitlab+jenkins持续集成(二)

    1.jenkins服务器上的配置 -bin.tar.gz -C /opt/ yum install -y git /conf/settings.xml #只需更改maven的地址 <?xml v ...

  6. kubernetes dashboard 安装时出现9090: getsockopt: connection refused错误

    转载于:https://blog.csdn.net/lucy06/article/details/79082302 安装kubernetes  dashboard时,出现错误: Error: 'dia ...

  7. docker usage

    docker ps -a 查看物理机上面所有容器信息列表 docker exec -it $docker_id /bin/bash 进入容器以默认帐号 docker exec -it -u root ...

  8. Qt tableWidget 空单元格 获取选中行行号

    bool focus = tableWidget->isItemSelected(tableWidget->currentItem()); // 判断是否选中一行 Int row1 = t ...

  9. Annotation 使用备忘

    title: Annotation 使用备忘 date: 2016-11-16 23:16:43 tags: [Annotation] categories: [Programming,Java] - ...

  10. python基础知识-12-模块的了解

    python其他知识目录 1.模块介绍: Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句.模块让你能够有逻辑地组织你 ...