【计算几何】【圆反演】计蒜客17314 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 G. Finding the Radius for an Inserted Circle
2024-08-31 06:29:23
题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第k个的半径是多少。
就把上面那两个圆的切点当成反演中心,然后会反演成这个样子,两个平行直线和一个圆。
然后就是往那个圆上面再塞圆,然后反演回去算面积就行了。
#include<cstdio>
#include<cmath>
using namespace std;
const double pi=3.14159;
int n,K;
double R,anss[12];
int main(){
//freopen("g.in","r",stdin);
scanf("%d%lf",&n,&R);
double ynow=sqrt(3.0)/2.0/R-1.0/2.0/R;
for(int i=1;i<=11;++i){
double ynex=ynow+1.0/R;
anss[i-1]=(1.0/ynow-1.0/ynex)*0.5;
ynow=ynex;
}
for(int i=1;i<=n;++i){
scanf("%d",&K);
printf("%d %d\n",K,(int)anss[K]);
}
return 0;
}
最新文章
- 引用对象的使用和易产生bug的示例
- HTML Minifier - 灵活的在线 HTML 压缩工具
- 【CodeForces 699B】One Bomb
- restClient访问SSL
- EasyUI 格式化DataGrid列
- android 客户端支付宝 php服务器端编写
- Mitsubish FX 3U PLC 串口 连接单元
- for循环计算某个数的阶乘、阶乘和及其倒数的阶乘和
- FD.io vpp 框架转发图
- C#集合之字典
- 四.GC —三分钟认识JAVA回收机制(Java Garbage Collection)
- thinkphp5学习(一)——thinkphp5的目录结构与开发规范
- 这可能是最简单的Page Object库
- JS 设计模式二 -- 单例模式
- 如何永久激活(破解) IntelliJ IDEA 2018.1.3
- C#.NET常见问题(FAQ)-如何使用变量访问控件属性
- UltraEdit 常用快捷方式
- 02_Spark Application不同模式下的监控
- 20155225 2016-2017-2 《Java程序设计》第七周学习总结
- vi的复制粘贴命令 -- (转)