★★翻滚吧硬币★★-兰州飞马杯

题目链接

#include<bits/stdc++.h>
using namespace std;
int main()
{
    
    
    double r1,r2,r3,x,y,z,r[3];
    int t,i,j,k;
    cin>>t;
    while(t--)
    {
    
    
    	for(i=0;i<3;i++)
    	cin>>r[i];
    	sort(r,r+3);
		r1=r[0],r2=r[1],r3=r[2];
		double PI=acos(-1);
		double l1=r1+r3,l2=r1+r2,l3=r2+r3;
		double c1=2*PI*r1,c2=2*PI*r2,c3=2*PI*r3;
		double h1=acos((l1*l1+l2*l2-l3*l3)/(2*l1*l2));
		double h2=acos((l2*l2+l3*l3-l1*l1)/(2*l2*l3));
		double h3=acos((l1*l1+l3*l3-l2*l2)/(2*l1*l3));
        double a1=c1*(h1/(2*PI))*2+c2*(h2/(2*PI))*2;
        a1=c1+c2-a1;a1=a1+c3*(h3/(2*PI))*2+c3;
        printf("%.15lf\n",a1/c3);
        
	}
}

猜你喜欢

转载自blog.csdn.net/m0_46381590/article/details/117415425
今日推荐