标签:freopen 一个 printf 题意 mat space 相同 bsp log
题意:给你三个半径相同的圆,它们切在一起,然后让你往缝里一个一个地塞圆,问你塞到第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; }
【计算几何】【圆反演】计蒜客17314 2017 ACM-ICPC 亚洲区(南宁赛区)网络赛 G. Finding the Radius for an Inserted Circle
标签:freopen 一个 printf 题意 mat space 相同 bsp log
原文地址:http://www.cnblogs.com/autsky-jadek/p/7588115.html