ZOJ3733_Skycity
这。。。水题。可惜坑了无数发。
显然对于当前的半径的园,多边形的边数越多,周长越短,面积也就越小。
一开始我是用二分去做的,事实证明也是可以的,只是我坑了。
其实没必要去用二分哦,这样来考虑这问题。
每次我都用最短允许的边与圆相切,看看这条边所占的角度有多大,这样就可以直接得出多少边形了。。。。(神坑吧)
接下来直接根据边数算出面积,就得答案了。 这才是真正的全场最水题啊。。。。。啊啊。。嗄。 吖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的更多相关文章
随机推荐
- Zabbix实战-简易教程--订阅类
一.需求提出 最近数据中心有一个新的需求,有一批后台任务需要在每天固定时间点运行(凌晨8:00),现在希望能够把这个任务执行的结果定时上报给他. 说明:执行的任务为一个sql查询,查询出来的是每个任务 ...
- node.js学习笔记(一)——创建第一个应用
巧妇难为无米之炊.要学习node.js,当然必须先有node.js环境(可以去官网 http://nodejs.cn/ 下载安装),如果还是不懂怎么配置开发环境,度娘会告诉你一切. 安装完成环境之后, ...
- Open-Drain&Push-Pull
在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull).对此两种模式,有何区别和联系 ...
- 6.把建模工具导出的dea文件导入到three.js程序中
1.使用Three.js渲染导出的DAE 在Three.js中使用Collada(即.dae)文件的话,首先得要用到 ColladaLoader.js. 但是这个ColladaLoader.js并不包 ...
- gitlab+jenkins持续集成(二)
1.jenkins服务器上的配置 -bin.tar.gz -C /opt/ yum install -y git /conf/settings.xml #只需更改maven的地址 <?xml v ...
- kubernetes dashboard 安装时出现9090: getsockopt: connection refused错误
转载于:https://blog.csdn.net/lucy06/article/details/79082302 安装kubernetes dashboard时,出现错误: Error: 'dia ...
- docker usage
docker ps -a 查看物理机上面所有容器信息列表 docker exec -it $docker_id /bin/bash 进入容器以默认帐号 docker exec -it -u root ...
- Qt tableWidget 空单元格 获取选中行行号
bool focus = tableWidget->isItemSelected(tableWidget->currentItem()); // 判断是否选中一行 Int row1 = t ...
- Annotation 使用备忘
title: Annotation 使用备忘 date: 2016-11-16 23:16:43 tags: [Annotation] categories: [Programming,Java] - ...
- python基础知识-12-模块的了解
python其他知识目录 1.模块介绍: Python 模块(Module),是一个 Python 文件,以 .py 结尾,包含了 Python 对象定义和Python语句.模块让你能够有逻辑地组织你 ...