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

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

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

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

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

接下来直接根据边数算出面积,就得答案了。   这才是真正的全场最水题啊。。。。。啊啊。。嗄。 吖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. How to: Display a Non-Persistent Object's List View from the Navigation

    This example demonstrates how to display a non-persistent object's List View when a navigation item ...

  2. Django 构建一个项目

    一.创建django程序 终端命令:django-admin startproject fahaicmd IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: python man ...

  3. 如何fork比特币的源码并同步更新到本地

    一.首先在Github上fork比特币源码,就会在自己的项目库里创建一份比特币代码的拷贝.   打开https://github.com/bitcoin/bitcoin,点击右上角的“Fok”图标,稍 ...

  4. 如何配置pycaffe

    首先,使用cmake配置.生成caffe的vs2015工程时,设定生成python接口,即BUILD项->BUILD_python.BUILD_python_layer,注意使用CMake生成V ...

  5. halcon算子之tuple_gen_const,用于生成特定长度的元组并且初始化其元素

    原文地址:http://blog.sina.com.cn/s/blog_d38f8be50102wczk.html 函数原型: tuple_gen_const(: : Length, Const : ...

  6. POJ--3279(开关问题2个不同时间写的代码)

    Fliptile Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 19730   Accepted: 7118 Descrip ...

  7. appium 元素定位方法汇总

    以上图为例,要定位到右下角的 我的 ,并点击 # appium的webdriver提供了11种元素定位方法,在selenium的基础上扩展了三个,可以在pycharm里面输入driver.find_e ...

  8. FFM原理及公式推导

    原文来自:博客园(华夏35度)http://www.cnblogs.com/zhangchaoyang 作者:Orisun 上一篇讲了FM(Factorization Machines),说一说FFM ...

  9. MFC常用操作

    目录: 1.文件操作 1.1.获取文件大小 2.路径操作 2.1.创建多级目录 1.文件操作 1.1.获取文件大小 // 获取文件大小 ULONGLONG size = ; // 文件大小 CFile ...

  10. exit命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/itcomputer/p/4157859.html 用途说明 exit命令用于退出当前shell,在shell脚本中可以 ...