博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【kAri OJ 616】Asce的树
阅读量:6902 次
发布时间:2019-06-27

本文共 1251 字,大约阅读时间需要 4 分钟。

时间限制 1000 ms 内存限制 65536 KB

题目描述

作为一个东北大老爷们,大A熊以力气大著称,现在有一颗半径为r的树,剖面图如黑色的圆,大A熊决定搬几个半径为R的圆柱形桶将其围住,剖面图如红色和绿色的圆

如图,大A熊必须用7个半径为r的桶能被围住,他的树。

hint:

double转换int可以这样: x=(int)y;这种方式是下取整的。

输入输出很大,cin cout 会造成超过时间限制,请使用scanf输入和printf输出,控制符可以用 "%lf" 。

 

you may use those function

Trigonometric functions

 

Hyperbolic functions

输入格式

数据由多组输入组成,EOF结束。

每组数据一行,包含两个数r,R(0<r,R<100000.0)

输出格式

每组输出占一行,表示大A熊最少需要放置的桶的个数。

输入样例

3.0 3.03.0 2.9

输出样例

67

分析

由几何关系可得,

R/(R+r)=sinθ

θ=2π/(2*n)=π/n

所以n=π/arcsin(R/(R+r)),并且向上取整。

然后在转换成整数输出n。

代码

#include
#include
#define ll long long#define dd doubleconst dd PI=acos(-1.0);dd r,R,n;ll ans;int main(){ while(~scanf("%lf%lf",&r,&R)) { n=ceil(PI/asin(R/(R+r))); ans=(ll)n; printf("%ld\n",ans); } return 0;}

 

  

转载地址:http://onpdl.baihongyu.com/

你可能感兴趣的文章
GPS定位为什么要转换处理?高德地图和百度地图坐标处理有什么不一样?
查看>>
简单代码在ABAP中实现声音的播放
查看>>
冲刺博客 五
查看>>
poj 2389 大整数乘法
查看>>
redis数据类型
查看>>
JSON.stringify JSON.parse
查看>>
第三次作业
查看>>
13-标准文档流
查看>>
就业指导第三次作业
查看>>
vscode格式化设置
查看>>
接口测试工具-Jmeter使用笔记(五:正则表达式提取器)
查看>>
VBA-从周课表统计节次
查看>>
(二十三)控制转移指令
查看>>
编译时设置动态链接库路径
查看>>
Java基础代码库:ACM的A+B问题
查看>>
日志分析工具ELK(二)
查看>>
js中eval详解
查看>>
软件设计
查看>>
HDU 5753 Permutation Bo
查看>>
【问题集】VS新建项目——失败——弹出“未将对象引用设置到对象的实例”...
查看>>